欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

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

时间:2022-04-26 09:08:05|栏目:.NET代码|点击:

本文解析了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#实现时间戳与标准时间的互转

栏    目:.NET代码

下一篇:ASP.NET中Image控件使用详解

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

本文地址:http://www.codeinn.net/misctech/200254.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有