0


程序中按F5的刷新功能。在任何时候,不管我焦点在哪个控件上,只要我按F5键,就可以重新读数据库。主要是keyDown事件难倒我了,主要我的窗体中有一部分控件是动态加载的,并且控件很多,所以我不能去每个控件的keyDown事件去调用这个功能。

所以请大家帮帮忙,有没有什么全局的事件,或者其它方法。

垃圾帖?
更新于2009-01-05 21:47:29
348 2 10
提问于2009-01-05 21:14:08
143 2 5
添加评论
0


这在C# Winforms开发中是可以做到的。 Form的键盘事件(比如:keydown)中可以通过设置KeyEventArgs.Handled属性为True,来控制仅在窗体级别处理键盘事件而不允许其他控件接收键盘事件。同时,要设置该窗口的KeyPreview属性为True,确保把控件的键盘事件注册到窗体上。

form1.KeyPreview = true;

private void form1_KeyDown(object sender, KeyEventArgs e)
{
    e.Handled = true;
}

另外,像特殊功能的预处理键如: Tab、Return、Esc 以及向上键、向下键、向左键和向右键,需要另外重写控件上的IsInputKey方法。详细可以参考MSDN有关键盘输入事件的详细介绍

永久链接 | 垃圾帖?
回答于2009-01-05 21:34:59
348 2 10
添加评论




Made with Django.

当前版本: R-0127-20090523

cc-wiki