源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-12-05 09:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要: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里将不会再出现回车键回调的问题。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部