讨论:快捷键控制(winform) 快捷键控制:有一部分是全局的如F1是帮助,一部分是子窗体中的快捷键,如F3是返回前一个窗体; 那么像全局的快捷键我是要放在主窗体中还是所有子窗体继承的同一个类中?如果是放在主窗体中如何控制? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 全局的,你要 用 Application.AddMessageFilter 加入消息过虑捕捉按键不然你无法在做到全局(除RegesterHotKey API外) // 命令键是始终比常规输入键具有优先权的键。命令键的示例包括快捷键和菜单快捷方式。// 在派生类中重写 ProcessCmdKey 方法时,控件应返回 true 以指示它已处理该键。// 对于未由该控件处理的键,应返回调用基类的 ProcessCmdKey 方法的结果。using System.Windows.Forms;class Test : Form{ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) { case Keys.Apps : // 应用程序键 case Keys.RWin : // 右 Win 键 case Keys.Menu | Keys.Alt : // Alt 键 case Keys.F4 | Keys.Shift : // Shift-F4 键 MessageBox.Show("Key Press : " + keyData); return true; } return base.ProcessCmdKey (ref msg, keyData); } static void Main() { Application.Run(new Test()); }} 小弟刚接触.NET一个问题想不明白,希望大家给我讲一下 HttpWebRequest请求百度 为何返回的是乱码 c# 下socket接收数据 算法问题:求N个数字的近似最大公约数 如何合并这两条语句?转(DB2到C#)----XQUERY查询DB2 vs 2008 WPF视图模式可不用? c#.net里怎么一次添加多条数据? NHibernate问题 关于基类设计的问题.....各位指点指点: 在.net中调用Excel创建报表 讨论:建立快捷键的解决方案(winform) 用C#程序解不等式
不然你无法在做到全局(除RegesterHotKey API外)
// 在派生类中重写 ProcessCmdKey 方法时,控件应返回 true 以指示它已处理该键。
// 对于未由该控件处理的键,应返回调用基类的 ProcessCmdKey 方法的结果。using System.Windows.Forms;class Test : Form
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
case Keys.Apps : // 应用程序键
case Keys.RWin : // 右 Win 键
case Keys.Menu | Keys.Alt : // Alt 键
case Keys.F4 | Keys.Shift : // Shift-F4 键
MessageBox.Show("Key Press : " + keyData);
return true;
}
return base.ProcessCmdKey (ref msg, keyData);
} static void Main()
{
Application.Run(new Test());
}
}