[英]Detecting Enter key press on a button c#
这段代码检测大多数键并将其放在messageBox中,但Enter键不是它的键之一。 *注意这是一个key_down方法
MessageBox.Show(e.KeyData.ToString());
到目前为止,我已经尝试了很多方法来解决这个问题,并且为寻找答案做了很多搜索
private void button1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("this is it");
e.IsInputKey = true;
}
}
它说0引用 ,我知道我没有在调用该方法,但是在哪里调用它? 无论我在哪里调用它,都会出现错误。
您删除此行
e.IsInputKey = true;
private void button1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("this is it");
//e.IsInputKey = true;
}
}
要么
private void button1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("this is it");
//e.IsInputKey = true;
}
}
在您的Form1设计属性中:
AcceptButton
属性将下拉列表设置为button1
或Button
的名称
按钮的KeyUp事件
private void button1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter key has been pressed");
}
}
要么
private void button1_KeyUp(object sender, KeyEventArgs e)
{
button1_KeyDown(sender, e);
}
private void button1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter key has been pressed");
}
}
将以下行放在后面: InitializeComponents();
-> button1.PreviewKeyDown +=new PreviewKeyDownEventHandler(button1_PreviewKeyDown);
。
您尝试使用的事件只会在您专注于该按钮时触发。 通过两种不同的方式(通过用户交互)传递焦点,其中一种是在元素上的实际鼠标单击,另一种是在控件上的“制表”,并确保您了解“ Events”和“ EventsHandlers”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.