C# KeyUp事件中MessageBox的回车(Enter)键回调问题解决方案
更新时间:2014年07月18日 17:45:59 投稿:shichen2014
这篇文章主要介绍了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#使用后台线程BackgroundWorker处理任务的总结
这篇文章主要介绍了C#使用后台线程BackgroundWorker处理任务的总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-07HighCharts图表控件在ASP.NET WebForm中的使用总结(全)
这篇文章主要介绍了HighCharts图表控件在ASP.NET WebForm中的使用总结(全),需要的朋友可以参考下2015-08-08
最新评论