我有一个表单,其中我正在使用form_keydown事件和keypreview = true。
代码如下
private void MainForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.C)
button2_Click(sender, e);
if (e.KeyCode == Keys.P)
button3_Click(sender, e);
if (e.KeyCode == Keys.B)
button4_Click(sender, e);
if (e.KeyCode == Keys.U)
button5_Click(sender, e);
if (e.KeyCode == Keys.T)
button6_Click(sender, e);
if (e.KeyCode == Keys.W)
button7_Click(sender, e);
if (e.KeyCode == Keys.X)
button8_Click(sender, e);
}
但是,当我按键(即C,p,b,u,t,w和x)时,事件会触发。我需要的是从form_keydown事件中跳过文本框。这可能吗?
函数键已经在使用,用户不喜欢用户alt或ctrl。
是否有form_keydown事件和文本框关键的工作方式有所不同?
private void MainForm_KeyDown(object sender, KeyEventArgs e)
{
if (ActiveControl.Name!="textBox20")
{
if (e.KeyCode == Keys.C)
button2_Click(sender, e);
if (e.KeyCode == Keys.P)
button3_Click(sender, e);
if (e.KeyCode == Keys.B)
button4_Click(sender, e);
if (e.KeyCode == Keys.U)
button5_Click(sender, e);
if (e.KeyCode == Keys.T)
button6_Click(sender, e);
if (e.KeyCode == Keys.W)
button7_Click(sender, e);
if (e.KeyCode == Keys.X)
button8_Click(sender, e);
}
}