winform焦点的问题
我的form里面有一个button和一个 combox
忧郁焦点始终在button和combox上换来换去 所以我的form不能接受ketdown事件
我把button和combox enable=false以后 问题是解决了 但是这个东西不能用了
请问各位有更好的办法吗?
[解决办法]
private void Form1_Load(object sender, EventArgs e) { this.KeyPreview=true; }
[解决办法]
去截取系统的消息吧。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
/* IntPtr ptr = this.textBox1.Handle;
* msg.HWnd在此处的msg中有HWnd,这个变量可以标示此时焦点处于那个控件上,因为每一个控件都有自己的句柄,而且都不相同,因此可以用此方法进行过滤消息,将button和一个 combox 的键盘事件放过
*/
return base.ProcessCmdKey(ref msg, keyData);
}