本文来自CSDN博客:http://blog.csdn.net/ltolll/archive/2009/03/04/3956790.aspx
设想:窗体上有一个textBox1控件。当我在textBox1中回车时出现MessageBox提示框,再回车MessageBox消失。
问题的产生:
代码如下:
[code=C#]
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DaKa();
}
private void DaKa()
{
MessageBox.Show("按了回车");
}
[/code]
当我在textBox1中回车时出现MessageBox提示框,再回车MessageBox并不消失(其实是消失后又出现),只有用鼠标点确定或关闭MessageBox。我猜是MessageBox回车按下时,MessageBox已经消失。当前控件又变成了 textBox1,此时回车键抬起刚好触发KeyUp事件。
如何能将其拦截?
解决,没用拦截,只是在KeyPress中调用函数
[code=C#]
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
DaKa();
}
[/code]
本文来自CSDN博客:http://blog.csdn.net/ltolll/archive/2009/03/04/3956790.aspx