繁体   English   中英

事件 KeyDown/KeyPress/KeyUp 如何获取按下按钮的名称?

[英]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
}

如果“按钮”是指键盘键(我不确定这与点击有什么关系,也许是在屏幕键盘上?)...

KeyDownKeyUp事件传递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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM