[英]C# Making it so the Enter Key behaves as if a button has been pressed
我该如何编码,以便在按下 Enter 键时,它的行为就像按下了现有表单上的按钮一样?
假设表单上的按钮使它显示 hello 的显示消息
private void buttonHello_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello");
}
我如何做到这样当按下回车键时它会做同样的事情(对于我的生活我不记得了,这可能真的很简单而且我真的很笨)
WinForms? 如果是,请选择表格。 现在在属性窗格(默认屏幕右下角)中,将AcceptButton
属性更改为“buttonHello”。
获取或设置窗体上当用户按下 ENTER 键时单击的按钮。
这是它在“属性”窗格中的样子:
捕获Enter键按下事件,如下所示:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter){
button.PerformClick();
}
}
在您的表单属性中,设置 AcceptButton = yourButton,就是这样。
你在寻找这样的东西吗:-
private void tb_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
button.PerformClick();
}
将Key Down事件处理程序添加到您的表单中。 然后检查是否已按下回车键
private void form_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
buttonHello.PerformClick();
}
您正在朝着“魔术按钮”反模式前进,症状是您想从其他地方驱动按钮。 以某种方式将您想要的行为与按钮隔离(成员函数可以工作),然后从您喜欢的任何点调用相同的函数。 如果您真的只想回复回车键,最好的方法是,如@Idle_mind 所建议的那样,使用AcceptButton
。
对于 WinForms:
using System.Windows.Forms; // reference
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
// do something
}
}
对于 WPF:
using System.Windows.Input; // reference
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter)
{
// do something
}
}
笔记
Keys.YOURKEY
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.