TextBox KeyPress事件不会触发

时间:2014-12-29 19:51:27

标签: c# winforms visual-studio textbox keyboard-events

我有一个包含9个TextBox控件的表单。每个人都有一个KeyPress事件处理程序,可以在Enter / Return和更多事件上触发。

第五个TextBoxKategorie)和第六个(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中设置。按钮和代码不会被复制/粘贴。有人能告诉我问题在哪里吗?

3 个答案:

答案 0 :(得分:0)

尝试将Form.KeyPreview属性设置为True

答案 1 :(得分:0)

自动完成源代码。 这与

中的问题相同

Autocomplete on Combobox onkeypress event eats up the Enter key

它并没有真正解决,而是一个很好的解决方法

答案 2 :(得分:0)

// 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();
    }
}

//试试这个