TextBox KeyPress事件不会触发
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TextBox KeyPress事件不会触发相关的知识,希望对你有一定的参考价值。
我有一个表格有九个TextBox
控件。每个人都有一个KeyPress
事件处理程序,在Enter / Return和更多时触发。
第五个TextBox
(Kategorie
)和第六个(Ort
)不开火。其他人呢。代码是:
private void tb_Kategorie_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("works");
if (e.KeyChar == (char)Keys.Enter || e.KeyChar == (char)Keys.Return)
{
tb_Ort.Focus();
}
else if (e.KeyChar == (char)Keys.Escape)
{
tb_Kategorie.Text = escSpeicher;
tb_Kategorie.SelectAll();
}
}
事件处理程序在Designer和designer.cs中设置。按钮和代码不会被复制/粘贴。有人能告诉我问题在哪里吗?
答案
// You Can Use Key Down method here
private void tb_Kategorie_KeyDown(object sender, KeyEventArgs e)
{
MessageBox.Show("works");
if (e.KeyCode== Keys.Enter || e.KeyCode== Keys.Return)
{
tb_Ort.Focus();
}
else if (e.KeyCode== Keys.Escape)
{
tb_Kategorie.Text = escSpeicher;
tb_Kategorie.SelectAll();
}
}
// 试试这个
另一答案
尝试将Form.KeyPreview属性设置为True
另一答案
它与自动完成源有关。这是同样的问题
Autocomplete on Combobox onkeypress event eats up the Enter key
它并没有真正解决,但一个很好的解决方法
以上是关于TextBox KeyPress事件不会触发的主要内容,如果未能解决你的问题,请参考以下文章
winform加个webBrowser以后为啥不能触发keyup事件
从后面的代码中过滤 TextBox 的 KeyPress 事件上的 GridView
VB keypress事件中键盘上每个键的KeyAscii值分别是啥?