我正在寻找一种在C#中的Windows窗体应用程序中实现常用Windows键盘快捷键(例如Ctrl+ F,Ctrl+ N)的最佳方法.
该应用程序有一个主窗体,可以容纳许多子窗体(一次一个).当用户点击Ctrl+时F,我想显示自定义搜索表单.搜索表单取决于应用程序中当前打开的子表单.
我想在ChildForm_KeyDown事件中使用这样的东西:
if (e.KeyCode == Keys.F && Control.ModifierKeys == Keys.Control)
// Show search form
Run Code Online (Sandbox Code Playgroud)
但这不起作用.按键时,事件甚至不会触发.解决办法是什么?
要重现我的问题,请执行以下操作:
FormBorderStyle为None.在默认FormBorderStyle设置中,MaximizeBox属性为false将禁用Windows+ Up全屏快捷方式.
如果FormBorderStyle设置为NoneMicrosoft,则决定禁用除向上箭头之外的所有Windows +箭头键快捷键,然后禁用该MaximizeBox属性的禁用.
这是一个小故障吗?禁用此快捷方式的任何简单方法都是在所有其他FormBorderStyles上禁用的同一方式吗?
我创建了一个表单并将其FormBorderStyle属性设置为none. 当我按下Windows + UP表单时将最大化。如何防止表单最大化?我试过
private void logIn_Resize(object sender, EventArgs e)
{
this.WindowState = FormWindowState.Normal;
}
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的。使用上面的代码,当我按下Windows + Up表单时将最大化,然后恢复到正常状态。但我想从根本上防止它。