我有一个表格有九个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
它并没有真正解决,但一个很好的解决方法