当前位置: 首页 > 编程笔记 >

C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案

谷梁波
2023-03-14
本文向大家介绍C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案,包括了C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案的使用技巧和注意事项,需要的朋友参考一下

本文解析了C# KeyUp事件中MessageBox的回车(Enter)键出现回调问题的解决办法。具体问题如下:

在一个窗体上有一个名为txtTest的Textbox控件,如果在此控件的KeyUp事件中有按回车键 弹出messagebox消息框,那么在弹出的messagebox中如果按回车键去执行messagebox上的按钮,再回车键还会在KeyUp事件中继续执行。一直按回车键的话将循环进行。

代码如下所示:

private void txtTest_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (MessageBox.Show("输入完了?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== System.Windows.Forms.DialogResult.Yes)
{
this.lblTest.Text = this.txtTest.Text;
}

}
}

为了避免这种情况出现,可以把KeyUp里的程序移到KeyDown事件中即可

private void txtTest_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (MessageBox.Show("输入完了?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
== System.Windows.Forms.DialogResult.Yes)
{
this.lblTest.Text = this.txtTest.Text;
}

}
}

这样在KeyDown里将不会再出现回车键回调的问题。

 类似资料:
  • 本文向大家介绍C#中WebBrowser.DocumentCompleted事件多次调用问题解决方法,包括了C#中WebBrowser.DocumentCompleted事件多次调用问题解决方法的使用技巧和注意事项,需要的朋友参考一下 关于DocumentCompleted事件,MSDN给出的解释是在文档加载完毕后执行,但是在我的程序中DocumentCompleted却被多次调用,查了一下资料,

  • 本文向大家介绍Mybatis返回插入的主键问题解决方案,包括了Mybatis返回插入的主键问题解决方案的使用技巧和注意事项,需要的朋友参考一下 MyBatis添加记录后获取主键ID,这是一个很常见的需求。这个需求有分为两种情况:(1)添加单条记录时获取主键值;(2)获取批量添加记录时各记录的主键值。 备注:MyBatis从3.3.1版本开始支持批量添加记录并返回各记录主键字段值。 1、添加单一记录

  • 本文向大家介绍ajaxFileUpload插件,C#返回Json数据报错问题的解决方案,包括了ajaxFileUpload插件,C#返回Json数据报错问题的解决方案的使用技巧和注意事项,需要的朋友参考一下 报错信息一:jQuery.handleError is not a function   上传图片的时候,通过F12,查看到这个错误。 解决方案: jquery版本问题,handlerErro

  • 强大的textHello Optaplanner专家, 爱丽丝

  • 我从C#开始,第一个项目是做计算器。我想为我的GUI提供一个键盘处理程序,它可以执行与我之前所做的按钮处理程序相同的操作。问题是当我进入“回车”键时。这就是我的空虚: 问题是,如果我按下enter键,它会抛出处理程序事件,但它也会按下按钮,就像我单击它一样。这是一张图片: 知道吗?谢谢:)

  • 本文向大家介绍网页中表单按回车就自动提交的问题的解决方案,包括了网页中表单按回车就自动提交的问题的解决方案的使用技巧和注意事项,需要的朋友参考一下 1、当form表单中只有一个<input type="text" name="name" />时按回车键将会自动将表单提交。 再添加一个 按下回车将不会自动提交,但是页面上显示一个不知所云的输入框挺别扭,后从网上搜到两个解决办法: (1)添加一个 不显