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

作者:shichen2014 时间:2021-06-25 06:24:06 

本文解析了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#,KeyUp,MessageBox
0
投稿

猜你喜欢

  • java(jdk)环境变量配置(XP、win7、win8)图文教程详解

    2021-11-01 15:06:48
  • spring-redis-session 自定义 key 和过期时间

    2022-03-29 14:34:37
  • IDEA下载并大学生edu邮箱认证免费使用教程(图文)

    2022-10-10 14:23:02
  • Java实现多线程断点下载

    2022-04-27 00:29:16
  • Java简单计时的实现案例(可以用来限时循环)

    2023-02-01 21:39:19
  • Java编程基础测试题分享

    2023-11-27 22:14:58
  • java原生序列化和Kryo序列化性能实例对比分析

    2023-11-26 16:04:20
  • mybatis教程之延迟加载详解

    2023-02-19 12:45:18
  • C#控制图像旋转和翻转的方法

    2023-11-26 08:25:08
  • Java函数式编程(六):Optional

    2021-07-04 21:44:05
  • c#基础学习之封装

    2023-12-06 16:45:21
  • Java实现的求逆矩阵算法示例

    2023-05-02 03:02:56
  • Spring注解@Configuration和@Component区别详解

    2022-11-05 02:04:18
  • Redis分布式锁实现方式及超时问题解决

    2023-08-24 23:28:34
  • 详解Java8中CompletableFuture类的使用

    2022-06-28 17:39:43
  • C#实现简单俄罗斯方块

    2023-06-18 07:18:36
  • Java面向对象程序设计:类的定义,静态变量,成员变量,构造函数,封装与私有,this概念与用法详解

    2022-07-12 03:35:14
  • Unity 使用TexturePacker打包图集的操作方法

    2021-08-30 18:48:17
  • MyBatis-Plus不使用数据库默认值的问题及解决

    2023-11-13 17:37:20
  • Java8 使用工厂方法supplyAsync创建CompletableFuture实例

    2023-02-14 03:57:22
  • asp之家 软件编程 m.aspxhome.com