我想在我的表单中的每个文本框中添加一个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 = ?
}
如果我有一个文本框,我会知道如何做到这一点,但我如何检测密钥输入foreach一个?
这是为了一个:
if(e.KeyCode == Keys.Enter)
{
}
答案 0 :(得分:1)
对于您的TextBoxes_Enter
方法将分配多少处理程序并不重要 - 它们对于每个处理程序的行为方式都完全相同。如果它不起作用,则意味着您正在谈论两种不同的方法。我差点错过了你的事实:
private void TextBoxes_Enter(object sender, EventArgs e)
应该是
private void TextBoxes_Enter(object sender, KeyEventArgs e)
顺便说一下,你可以像这样分配它们:
control.KeyDown += TextBoxes_Enter;