C# 在文本框中按enter键,然后执行按钮命令
我想通过按Enter键来执行搜索按钮后面的代码。我的搜索按钮具有Accept Button属性。但是,当我将按钮设置为不可见时,我的搜索不会执行 我希望能够在文本框内按Enter键,并在按钮不可见时执行按钮。任何建议都很好!下面是一次尝试键入我的代码的事件C# 在文本框中按enter键,然后执行按钮命令,c#,winforms,button,textbox,C#,Winforms,Button,Textbox,我想通过按Enter键来执行搜索按钮后面的代码。我的搜索按钮具有Accept Button属性。但是,当我将按钮设置为不可见时,我的搜索不会执行 我希望能够在文本框内按Enter键,并在按钮不可见时执行按钮。任何建议都很好!下面是一次尝试键入我的代码的事件 if (e.KeyCode == Keys.Enter) { buttonSearch_Click((object)sender, (EventArgs)e); } 您可以注册到文本框的KeyDown事件,查
if (e.KeyCode == Keys.Enter)
{
buttonSearch_Click((object)sender, (EventArgs)e);
}
您可以注册到文本框的KeyDown事件,查看按下的键是否为Enter,然后执行按钮的EventHandler:
private void buttonTest_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World");
}
private void textBoxTest_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
buttonTest_Click(this, new EventArgs());
}
}
您可以处理
TextBox
控件的按键事件
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode==Keys.Enter)
buttonSearch_Click(sender,e);
}
即使按钮
Visible
属性设置为false
时,它也可以工作,因为每个人都在回答键,所以使用按钮上的IsDefault
如何
您可以阅读此技巧,了解快速操作方法及其作用:
以下是链接文章中的一个示例:
<Button IsDefault = "true"
Click = "SaveClicked"
Content = "Save" ... />
'''
'''
或者,您可以设置表单的.AcceptButton属性。Enter将自动创建单击事件
this.AcceptButton = this.buttonSearch;
如果你想在按下Enter键的时候点击按钮,这个怎么样
private void textbox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
buttonSearch.PerformClick();
}
在WPF
应用程序中,此代码工作正常
private void txt1_KeyDown(object sender, KeyEventArgs e)
{
if (Keyboard.IsKeyDown(Key.Enter) )
{
Button_Click(this, new RoutedEventArgs());
}
}
好了
private void YurTextBox_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
YourButton_Click(this, new EventArgs());
}
}
如果buttonSearch没有代码,并且唯一的操作是返回对话框结果,则:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DialogResult = DialogResult.OK;
}
在某些情况下,textbox不会处理enter键。我想可能是你们在表格上设置了“接受”按钮。在这种情况下,您应该使用textbox1\u PreviewKeyDown(对象发送者,PreviewKeyDownEventArgs e)
而不是KeyDown
事件,当它不可见时,您的意思是什么?以上是我尝试过的。当我的按钮属性设置为不可见时。我想在其可见属性设置为False时执行我的按钮。这是什么UI技术?Winforms?可能的副本工作得很好!仅供参考,请确保您的“AcceptButton”设置设置为无。当我的AcceptButton设置为我的按钮时,我使用了此代码,但它不起作用。我这边的工作很糟糕。谢谢大家!!此外,您可以将e.Handled
设置为true
,以避免发出蜂鸣音。嘿,按钮测试点击的byval中的这是什么?我曾尝试在VB.NET中实现你的代码,但不确定这意味着什么。是的,这会起作用,但你必须为此制作一个额外的按钮,并收听ButtonOnClick
。“这”可能是指当前表单,我不知道它在文本框中的焦点表单时是否能正常工作,当我们尝试textbox.AcceptButton时,它没有扩展方法。您好,欢迎使用SO!请务必稍微解释一下您的源代码。在我看来,这是实现这一点的最佳方法,特别是如果您试图坚持MVVM原则,因为它只需要在XAML中添加一行代码。但我认为这个答案可以通过添加一个简短的示例来改进(该链接总有一天会消失!)。其他解决方案可行,但它似乎浪费了资源,而这个解决方案却不行。有人能告诉我如何在WinForms(CS文件)中执行此操作吗?找不到XAML文件
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DialogResult = DialogResult.OK;
}