繁体   English   中英

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

[英]KeyDown event foreach textbox in form and detect enter

我想向我的表单中的每个文本框添加一个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)
{

}

分配给您的TextBoxes_Enter方法多少个处理程序并不重要-每个处理程序的行为都完全相同。 如果它不起作用,则意味着您正在谈论2种不同的方法。 我几乎错过了以下事实:

private void TextBoxes_Enter(object sender, EventArgs e)

应该

private void TextBoxes_Enter(object sender, KeyEventArgs e)

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

control.KeyDown += TextBoxes_Enter;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM