One*_*tig 1 c# forms events properties picturebox
我目前正在使用视觉工作室,不知道这是否是一个小故障,但是当我进入表单属性并显示事件时,有两个事件称为KeyDown和KeyUp。现在,当我对一个图片框执行相同操作时,它的事件更少,没有KeyDown和KeyUp事件。图片框支持的事件少于其他事件吗?这是小故障吗?
Form1属性的屏幕快照:
PictureBox1属性的屏幕截图:
如此处其他人所述,在这种情况下捕获键盘事件的最合适方法是在Form级别上拦截键事件,因为PictureBox控件无法接收焦点并且缺少公开的键事件。
为此,首先将KeyPreview表单的属性设置为true设计器内,或者设置为表单的构造函数内:
this.KeyPreview = true;
Run Code Online (Sandbox Code Playgroud)
然后,订阅KeyUp活动:
this.KeyUp += MainForm_KeyUp;
Run Code Online (Sandbox Code Playgroud)
最后,使用类似于以下内容的事件处理程序来拦截和处理关键事件:
private void MainForm_KeyUp(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.A:
// Perform some action...
break;
case Keys.B:
// Perform some action...
break;
case Keys.End:
// Perform some action...
break;
// etc...
}
}
Run Code Online (Sandbox Code Playgroud)
如果您打算从事件处理程序中“使用”键,则可以如下设置对象的Handled属性KeyEventArgs:
e.Handled = true;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3452 次 |
| 最近记录: |