我是在TextBox的OnKeypress事件中判断输入回车键时弹出MessageBox,消息框是弹出来了,但弹出消息框后,我再按回车,消息框先是关闭了,然后又重新弹出了个消息框。如果是用鼠标点消息框的“确定”按扭来关闭消息框的话就不会重新再弹出消息框。
感觉就象是在消息框弹出后,焦点到消息框中时,TextBox还是能够响应回车键,这个问题是怎么解决呢?
感觉就象是在消息框弹出后,焦点到消息框中时,TextBox还是能够响应回车键,这个问题是怎么解决呢?
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter");
}
}
bool show=false;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if(!show)
{
show=true;
MessageBox.Show("Enter");
show= false;
}
}
}
你可能是把事件写错了 在 文本框中有 4 个有关按键的事件 1、KeyDown
2、KeyPress
3、KeyUp
4、PreviewKeyDown 如果把代码写在 4、PreviewKeyDown 就会 弹出 两次 对话框 写在 1、KeyDown 事件中不会出现你说的情况 private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter");
}
}
2、KeyPress
3、KeyUp
4、PreviewKeyDown如果把代码同时写在 1、KeyDown 和 4、PreviewKeyDown 中 就会 弹出 两次 对话框 如果写在 1、KeyDown 或 4、PreviewKeyDown 事件中不会出现你说的情况private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
MessageBox.Show("Enter");
}
}