![](/img/trans.png)
[英]Difference between the KeyDown Event, KeyPress Event and KeyUp Event in Visual Studio
[英]Event KeyDown/KeyPress/KeyUp How to get the name of the pressed button?
告诉我,我怎样才能得到你点击的按钮的名字?
例子:
public void HotKey_KeyDown(object sender,KeyEventArgs key)
{
MessageBox.Show(key.GetName()); //For example: Enter or some other button
}
如果“按钮”是指键盘键(我不确定这与点击有什么关系,也许是在屏幕键盘上?)...
KeyDown
和KeyUp
事件传递KeyEventArgs
。
有很多属性需要研究,但您可以简单地执行以下操作:
MessageBox.Show(key.KeyCode.ToString()); //For example: Enter [Return] or some other button [key]
KeyPress
事件传递KeyPressEventArgs
,它不是那么冗长。
你可以试试:
MessageBox.Show(key.KeyChar.ToString());
...顾名思义,这只是角色。
该按钮具有Name
属性。 按钮(或触发事件的任何其他元素)是sender
。 但是,如果您不习惯它,可能会令人困惑的是, sender
被松散地键入为object
,并且object
没有Name
,因此您不会直接在自动完成中找到它,并且如果您编写sender.Name
它将无法编译sender.Name
。
您可以将sender
为正确的类。 例如Button
等......一个很好的可重用解决方案就是像 Hans Passant 评论的那样使用Control
。 就像是 :
if (sender is Control control)
{
MessageBox.Show(control.Name);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.