当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-31

    本文导语:  本文解析了C# KeyUp事件中MessageBox的回车(Enter)键出现回调问题的解决办法。具体问题如下: 在一个窗体上有一个名为txtTest的Textbox控件,如果在此控件的KeyUp事件中有按回车键 弹出messagebox消息框,那么在弹出的messagebox中如果...

本文解析了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里将不会再出现回车键回调的问题。


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt类component的类成员方法: keyup定义及介绍
  • ff下JQuery无法监听input的keyup事件的解决方法
  • Web服务器/前端 iis7站长之家
  • 深入理解JQuery keyUp和keyDown的区别


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3