在textbox的keypress中抓不得回车,要重载Form的ProcessDialogKey来抓。
比如:(将下面代码拷贝到Form代码中)
protected override bool ProcessDialogKey(Keys keyData)
{ if (keyData == Keys.Return && this.ActiveControl is TextBox)
{
MessageBox.Show("抓到了");
return true;
} base.ProcessDialogKey(keyData);
return false; }
}
base.ProcessDialogKey(aKey);
return false;
}
比如:(将下面代码拷贝到Form代码中)
protected override bool ProcessDialogKey(Keys keyData)
{ if (keyData == Keys.Return && this.ActiveControl is TextBox)
{
MessageBox.Show("抓到了");
return true;
} base.ProcessDialogKey(keyData);
return false; }
}
base.ProcessDialogKey(aKey);
return false;
}
解决方案 »
- 调用数据库数据到txetbox控件时候我又遇到麻烦了,求各位前辈帮忙啊!!!!!
- 求一条sql语句,查询2个表,根据其中一个表的数据行数进行排序的问题
- C#下三层C/S应用的简单实现
- C#能否读取光驱里的文件,怎么读取?
- 新手提问:想在一个窗体中用代码显示另一个窗体,该怎么做?
- 线程问题,散分来了
- 一个基于asp和C#的网站,已经上线,为什么我人工向数据库中user的表格中增加用户,网站就不认呢?
- 如何将gridview
- 主窗体最小化时,如何向桌面上弹出MESSAGE BOX?
- c#中有没有驱动器类?
- 怎样根据用户输入的字符串(作为类名)动态得到一个类呢?
- 有谁可以告诉我哪里有VISUAL STDIO 。NET(5张盘的中文完全版)下载
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (e.KeyChar==13)
{
}
}
{
if(e.KeyChar == (char)13)
{
MessageBox.Show("kkk");
}
}当Form的keypreview设置为true的时候,Form就会先抓取。这时候,判断一下this.ActiveControl,转换为textbox,然后判断name或者其他的属性。 protected override bool ProcessDialogKey(Keys keyData)
{ if (keyData == Keys.Return)
{
TextBox t = this.ActiveControl as TextBox;
if (t != null)
{
if (t.Name == "textBox1")
{
MessageBox.Show("抓到了");
return true;
}
}
} base.ProcessDialogKey(keyData);
return false; }