始终以基本形式处理 PreviewKeyDown 事件

2023-12-27

我们需要在基本表单中处理此事件,无论当前哪些控件具有焦点。我们有几个全局关键命令,无论控制焦点如何,它们都需要工作。

这是通过正常处理表单中的 PreviewKeyDown 事件来实现的。当我们将用户控件添加到表单时,该事件不再触发。

我在这里错过了一些琐碎的事情吗?或者我们需要先处理用户控件中的事件?

感谢您的帮助!

谢谢因素。当我有更多时间时:)我会让它“正常”工作!


您使用的隐藏菜单对于有效菜单项快捷方式的快捷方式效果很好,但如果您想使用任何键作为快捷方式(例如 Page Up/Page Down),则需要不同的技巧。

另一种不涉及 P/Invoke 的方法是设置Form.KeyPreview你的表单的属性为true。这将导致所有按键首先发送到表单,无论哪个控件具有焦点。然后,您可以重写 OnKeyDown、OnKeyPress 和/或 OnKeyUp,以在任何控件之前处理按键操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

始终以基本形式处理 PreviewKeyDown 事件 的相关文章

  • 为什么libc++的shared_ptr实现使用完整内存屏障而不是宽松内存屏障?

    在boost的实现中shared ptr 它用放松内存排序以增加其引用计数 https github com boostorg smart ptr blob master include boost smart ptr detail sp
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • JSON 数组到 C# 列表

    如何将这个简单的 JSON 字符串反序列化为 C 中的列表 on4ThnU7 n71YZYVKD CVfSpM2W 10kQotV 这样 List
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • IronPython:没有名为 json 的模块

    我安装了 IronPython 我的 python 文件如下所示 import sys print sys version import json 运行它的代码 var p Python CreateEngine var scope p C
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • 如何将“外部模板”与由同一类中的模板化成员使用的嵌套类一起使用?

    首先 一些背景信息 我尝试以 Herb Sutter 在他的解决方案中介绍的方式使用 Pimpl 习语 得到了 101 http herbsutter com gotw 101 这在头文件中看起来像这样 include pimpl h h
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 如何挤出平面 2D 网格并赋予其深度

    我有一组共面 连接的三角形 即二维网格 现在我需要将其在 z 轴上挤出几个单位 网格由一组顶点定义 渲染器通过与三角形数组匹配来理解这些顶点 网格示例 顶点 0 0 0 10 0 0 10 10 0 0 10 0 所以这里我们有一个二维正方
  • 如何一步步遍历目录树?

    我发现了很多关于遍历目录树的示例 但我需要一些不同的东西 我需要一个带有某种方法的类 每次调用都会从目录返回一个文件 并逐渐遍历目录树 请问我该怎么做 我正在使用函数 FindFirstFile FindNextFile 和 FindClo
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • System.Runtime.InteropServices.COMException(0x80040154):[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在 C 项目中遇到异常 System Runtime InteropServices COMException 0x80040154 检
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • 使用 Crypto++ 获取 ECDSA 签名

    我必须使用 Crypto 在变量中获取 ECDSA 签名 我在启动 SignMessage 后尝试获取它 但签名为空 我怎样才能得到它 你看过 Crypto wiki 吗 上面有很多东西椭圆曲线数字签名算法 http www cryptop

随机推荐

  • 如何调整 GLUT 窗口的大小?

    from OpenGL extensions import alternate from OpenGL GL import from OpenGL GL ARB multitexture import from OpenGL GLU imp
  • 如何使用表达式构建匿名类型?

    在 C 3 0 中 您可以使用表达式创建具有以下语法的类 var exp Expression New typeof MyClass var lambda LambdaExpression Lambda exp object myObj l
  • 使用 QT 的任务计划程序 API

    我想实现一个基于定期日期的任务调度程序 有没有办法使用 QT 的 API 来实现它 另一个问题 我应该指定windows当前用户的用户名和密码吗 如果您想使用 Windows 任务计划程序 则需要使用 COM API http msdn m
  • 如何以编程方式将按钮添加到片段

    我无法设法以编程方式向片段添加按钮 按钮数量可变 我尝试使用 an addView 方法将按钮添加到 rootView 但没有 我尝试在充气之前将按钮添加到布局中 但我不知道如何获取布局 类型 id 错误的预期资源 RelativeLayo
  • 动画结束后我该怎么做?

    我有一个ImageView我用它来通过AnimationDrawable 当我想显示我的进度旋转器时 我这样做 animDrawable start ObjectAnimator ofFloat view alpha 1 0f setDur
  • 当具有该名称的文件已经存在时,如何防止 Django 更改文件名?

    就我而言 我允许用户上传头像图片并使用 user id 作为文件名 简单地说 所以就会有1 jpg 2 jpg等 但是我发现 如果我为某个已上传头像的帐户 假设用户 10 上传新头像 新文件将被命名为 10 1 jpg 这没关系 但是我不需
  • Bootstrap 选项卡中的多个 Google 地图

    我有一个引导选项卡结构 每个选项卡内都有一个谷歌地图 iframe 第一个选项卡的 iframe 看起来不错 但其他选项卡看起来未缩放且未居中 这与 iframe src 代码无关 因为我尝试用第二个和其他代码替换第一个 第一个总是工作得很
  • C++ 我需要在任何地方为函数编写 throw 子句吗?

    Before 考虑有一个类和一个全局函数 例如 这是usefulfuncts hpp void dosome int a int b throw std exception This is usefulfuncts cpp void dos
  • 如何在 SQL 中将表连接到自身并选择最大值

    我有一个contracts table contractId date price partId 1 20120121 10 1 2 20110130 9 1 3 20130101 15 2 4 20110101 20 2 最大的合同dat
  • Bootstrap 轮播与 morris.js 图表冲突?

    我正在使用 morris js 绘制图表 并且我想通过引导轮播显示这些图表 但是如果我这样做 Firefox 将停止响应 它们单独工作可以很好 但如果放在一起就会崩溃 firebug 告诉我有一些与 Raphael 图书馆有关的事情 但我仍
  • 适用于 Android 和 IOS 的 HighChart 库 [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在 Android 和 iOS 移动应用程序中使用 HighCharts Android 或 iOS
  • 将函数指针“转换”为 Objective-C 中的块

    我正在做一些从 Mono C 到 Obj C 的互操作 并遇到了这个问题 C 代码需要传递回调 它使用函数指针来执行此操作 我可以从 Obj C 端获取函数指针并调用它 一切正常 但我现在需要将该函数指针作为回调提供给第三方 API 该 A
  • Xcode 4.5 - OS X Cocoa 应用程序 - 基本 Web 视图:打开时加载 Google

    我正在尝试创建一个极其基本的 OS X Cocoa 应用程序 该应用程序在打开时会加载http www google com http www google com 尽可能基本 没有后退或前进按钮等 我对 Xcode 4 5 的经验很少 并
  • 如何在反序列化“设置”对象时更新 WPF UI

    我的目标是这样做 用户选择设置文件 读取设置并相应更新 UI 显然 节省也应该是可能的 我的程序当前不是 WPF XAML 现在执行此操作意味着在需要新设置时需要进行大量重复和添加工作 所以有人告诉我 WPF XAML 是正确的选择 我研究
  • 在 C++ 中实现“有限通用性”

    我正在将一个项目从 Java 转移到 C 但我在 Java 中相对简单的东西上遇到了问题 我有课X它是为了处理类型的对象而设计的Y以及继承自的对象Y X经常需要调用方法Y say kewl method 并且这个方法在继承自的每个类中都是不
  • SQLite数据库-选择两个日期之间的数据?

    我想按日期选择数据 从一个日期到另一个日期 所以我有这个查询 SELECT FROM mytalbe WHERE date BETWEEN 2014 10 09 AND 2014 10 10 但这个查询只返回数据 2014 10 09 排除
  • 为什么 rownames(installed.packages()) 有一个名称属性?

    我有以下功能供个人使用 它需要输入作者的名字来查看我的机器上是否有他们的任何软件包 authoredPackages lt function author s lt sapply rownames installed packages pa
  • 为学说集合中的每个实体构建一个具有复选框的表单

    我正在显示一个经过过滤的实体集合的 html 表 并且我想在每行中显示一个复选框作为表单的一部分 该表单会将所选实体添加到会话变量中 我认为每个复选框都应该将实体 id 作为其值 并且我将从表单字段数据中获取 id 数组 好吧 所以该值应该
  • 如何获取 PostgreSQL 中聚合的定义/源代码?

    我发现这个相关答案很有用 从 PostgreSQL 导出 创建聚合 函数 https stackoverflow com questions 15112971 export create aggregate functions from p
  • 始终以基本形式处理 PreviewKeyDown 事件

    我们需要在基本表单中处理此事件 无论当前哪些控件具有焦点 我们有几个全局关键命令 无论控制焦点如何 它们都需要工作 这是通过正常处理表单中的 PreviewKeyDown 事件来实现的 当我们将用户控件添加到表单时 该事件不再触发 我在这里