Form中一“textbox”,两“button”,如何实现在textbox中按下回车响应button.click事件 :
1)把按钮的tabindex依次设置.如btnSure 1 ,btnModify 2, textbox 5等
// 把下面的代码放到窗体中可以实现按回车键跳到下一个可选的TabIndex控件:
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Enter && !(this.ActiveControl is Button))
{
keyData = Keys.Tab;
}
return base.ProcessDialogKey(keyData);
}
// 如果想对Button也执行这个规则,可以把!(this.ActiveControl is Button)去掉.
2)
private void txtName_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
// if (e.KeyCode == Keys.Enter)
// {
// if(this.Name=="修改")
// this.btnModify.PerformClick();
// else //添加
// this.btnSure.PerformClick();
// }
}
3)把Form的属性:把AcceptButton设置为你要响应的Button.
if(operFlag==0)
{
this.btnModify.Visible=false;
this.btnSure.Visible=true;
// this.AcceptButton=btnSure;
}
else if(operFlag==1)
{
this.btnModify.Visible=true;
this.btnSure.Visible=false;
// this.AcceptButton=this.btnModify;
}
另:
或者有多个TextBox,按下回车时光标自动跳往下个Tab顺序的TexeBox
// 把每个textbox的AcceptTab属性设置为false。注意设置这组textbox的tabIndex设置为相临的数字。
33
在一个textBox里先 textBox1.text="abc";紧接着让textBox1里执行一个“回车”键操作,不是手工按回车键,是让程序实现
private void txtBox_textChange(System.Object sender, System.EventArgs e)
{
if(txtBox.text=="abc")
{
SendKeys.Send("{ENTER}");
}
}