C# MessageBox。Show()如何设置3秒后自动关闭?
1.指定要弹出的消息和计时时间(单位秒)。
2.弹出后,对话框上的确定按钮会动态倒计时,时间为0时自动关闭,也可以点击确定按钮关闭。
核心代码:
?公共?部分?班级?TimingMessageBox?:?形式
{
//?自动关机的时间限制,例如3表示3秒后自动关机。
私人?int?第二;
//?用于判断当前窗口弹出后持续时间的计数器。
私人?int?柜台;
//?构造器
公共?TimingMessageBox(字符串?消息,?int?第二)
{
initialize component();
//?显示消息
this.labelMessage.Text?=?消息;
//?获取时间限制
这个,第二个?=?第二;
//?初始化计数器
这个柜台?=?0;
//?初始化按钮的文本
this.buttonOK.Text?=?字符串。Format ("OK ({0})",?这个,第二个?-?this . counter);
//?激活并启动定时器,将定时器的触发间隔设置为1000ms (1s)。
this.timer1。启用?=?真实;
this.timer1。区间?=?1000;
this.timer1。start();
}
私人?作废?timer1_Tick(对象?发件人?EventArgs?e)
{
//?如果没有达到指定的时间限制
如果?(this.counter?& lt=?这一秒钟)
{
//?刷新按钮的文本
this.buttonOK.Text?=?字符串。Format ("OK ({0})",?这个,第二个?-?this . counter);
这个。刷新();
//?计数器自增量
this . counter++;
}
//?如果达到了时间限制
其他
{
//?关闭计时器
this.timer1。启用?=?假的;
this.timer1。stop();
//?关闭对话框
这个。close();
}
}
私人?作废?buttonOK_Click(对象?发件人?EventArgs?e)
{
//?单击确定按钮关闭对话框。
这个。close();
}
}然后在主窗体中调用:
公共?部分?班级?Form1?:?形式
{
公共?表单1()
{
initialize component();
}
私人?作废?buttonShowMessageBox_Click(对象?发件人?EventArgs?e)
{
字符串?留言?=?this . textbox message . text . trim();
int?第二?=?转换。toint 32(this . textbox second . text . trim());
TimingMessageBox?messageBox=new?TimingMessageBox(消息,秒);
messageBox。ShowDialog();
}
}