TextBox KeyPress事件不会触发

问题描述 投票:0回答:3

我有一个表格有九个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中设置。按钮和代码不会被复制/粘贴。有人能告诉我问题在哪里吗?

c# winforms visual-studio textbox keyboard-events
3个回答
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();
    }
}

// 试试这个


0
投票

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


0
投票

它与自动完成源有关。这是同样的问题

Autocomplete on Combobox onkeypress event eats up the Enter key

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

© www.soinside.com 2019 - 2024. All rights reserved.