表单中每个文本框的KeyDown事件并检测回车

本文关键字:事件 KeyDown 检测 回车 文本 表单 | 更新日期: 2023-09-27 17:57:53

我想在表单中的每个文本框中添加一个KeyDown事件,这实际上是可行的,但我如何在事件中检测密钥?

这是为每个文本框创建它的代码

for (int i = 0; i < 5; i++)
{
    foreach (Control control in tabControl_1.TabPages[i].Controls)
    {
        if (control.GetType() == typeof(TextBox))
        {
            control.KeyDown += new KeyEventHandler(this.TextBoxes_Enter);
        }
    }
}
private void TextBoxes_Enter(object sender, EventArgs e)
{
   ((TextBox)sender).KeyDown = ?
}

如果我有一个文本框,我会知道如何做到这一点,但我如何检测每个文本框的Key Enter?

这是一个:

if(e.KeyCode == Keys.Enter)
{
}

表单中每个文本框的KeyDown事件并检测回车

TextBoxes_Enter方法将被分配多少个处理程序并不重要,每个处理程序的行为都完全相同。如果它不起作用,那就意味着你在谈论两种不同的方法。我几乎错过了一个事实,你的:

private void TextBoxes_Enter(object sender, EventArgs e)

应该是

private void TextBoxes_Enter(object sender, KeyEventArgs e)

顺便说一句,你可以这样分配它们:

control.KeyDown += TextBoxes_Enter;