C#:如何在文本框中按下输入触发按钮,但仍允许“Ctrl + A”等快捷方式通过?
很抱歉很长的标题,但我想不出另一种说法。
我有这个:
private void textBoxToSubmit_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { buttonSubmit_Click((object)sender, (EventArgs)e); } }
…为了在文本框中按下输入,触发“提交”按钮。 但是,这也可以防止快捷方式通过。 (不太确定它与它有什么关系,也许只有多键组合?)
ShortcutsEnabled设置为true。
提前致谢!
你不能在Forms Properties窗口中使用AcceptButton
吗? 这会设置按Enter键的默认行为,但您仍然可以使用其他快捷方式。
如果您希望返回仅在用户位于文本框中时触发操作,则可以为AcceptButton控件指定所需的按钮,如下所示。
private void textBox_Enter(object sender, EventArgs e) { ActiveForm.AcceptButton = Button1; // Button1 will be 'clicked' when user presses return } private void textBox_Leave(object sender, EventArgs e) { ActiveForm.AcceptButton = null; // remove "return" button behavior }
您可以使用KeyPress而不是KeyUp或KeyDown,它更有效,这里是如何处理
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { e.Handled = true; button1.PerformClick(); } }
希望它有效
如果这样做是ASP.NET,则不需要任何客户端代码。 下面的例子是一个带有一个带有fontawesome图标的搜索按钮的boostrap输入框。
您将看到,使用带有“输入组”类的常规
标签代替我使用了asp:Panel。 将DefaultButton属性设置为我的按钮的id,就可以了。
在下面的示例中,在输入文本框中键入内容后,您只需按Enter键即可生成提交内容。
上述就是C#学习教程:C#:如何在文本框中按下输入触发按钮,但仍允许“Ctrl + A”等快捷方式通过?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/952250.html