日新阁

取日三省之意,记生活珠玑,每日清新,谓日新阁.

 

窗体中实现按 回车键 跳到下一个可选的TabIndex控件

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}");
     }
}

posted on 2007-03-21 10:50  flashicp  阅读(2970)  评论(0编辑  收藏  举报

导航