gpt4 book ai didi

c# - 在 Windows 窗体应用程序中实现键盘快捷键的最佳方式?

转载 作者:IT王子 更新时间:2023-10-29 03:28:36 36 4
gpt4 key购买 nike

我正在寻找实现常见 Windows 键盘快捷键的最佳方法(例如 Ctrl+FCtrl+ N) 在我的 Windows Forms C# 中的应用程序。

该应用程序有一个主窗体,其中包含许多子窗体(一次一个)。当用户点击 Ctrl+F 时,我想显示一个自定义搜索表单。搜索表单将取决于应用程序中当前打开的子表单。

我想在 ChildForm_KeyDown 事件中使用类似这样的东西:

   if (e.KeyCode == Keys.F && Control.ModifierKeys == Keys.Control)
// Show search form

但这行不通。当您按下某个键时,该事件甚至不会触发。解决方案是什么?

最佳答案

您可能忘记设置表单的 KeyPreview属性为真。覆盖 ProcessCmdKey()方法是通用解决方案:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == (Keys.Control | Keys.F)) {
MessageBox.Show("What the Ctrl+F?");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}

关于c# - 在 Windows 窗体应用程序中实现键盘快捷键的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/400113/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com