我有2个组合框和一个文本框(combo1,combo2,textBox)。以下是事件key_down的代码:
private void MyForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
buttonSearch_Click(sender, e);
}
当我点击键盘上的ENTER按钮时,我想在表格上找到该程序调用搜索按钮。问题是,当我从组合框中选择一些项目并单击ENTER给我那个项目时,他也会调用searh按钮,ofcource,但我不想调用搜索,直到我填充组合框和文本框。所以,当我的焦点在文本框上时,我想只调用搜索按钮。知道怎么做吗?
答案 0 :(得分:2)
如上所述,您可以将事件放在文本框中。另外,根据您的原始问题,您可以检查文本框是否具有焦点:
private void MyForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (textBox1.Focused) // or whatever your textbox is called
{
buttonSearch_Click(sender, e);
}
}
}
答案 1 :(得分:1)
每个控件都有特定事件。您正在使用Form事件,但如果您只想在文本框聚焦时进行keydown,我建议如下:
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
buttonSearch_Click(sender,e);
}