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();

}

}