TextBox KeyPress事件不会触发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TextBox KeyPress事件不会触发相关的知识,希望对你有一定的参考价值。

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

答案
// 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值分别是啥?

C#TextBox按下回车键触发的事件名称是?

Tab 不会触发 keydown 或 keypress 事件

c# keydown事件问题