如何使messagebox.show对话框,在3秒之后自动消失 C

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使messagebox.show对话框,在3秒之后自动消失 C相关的知识,希望对你有一定的参考价值。

参考技术A MessageBox.Show不支持你说的功能,不过你为什么不用一个放置在最前端的Label来实现呢?我现在的项目就是这么做的,你用ShowMsg方法代替MessageBox.Show,代码参考:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

void ShowMsg(string msg)

new Thread(() =>

TimeSpan ts = new TimeSpan(0, 0, 0, 1);
for (int i = 3; i > 0; i--)

// 如果强制不显示,则终止循环显示
if (_forceVisible)

_forceVisible = false;
return;

OperationLabelMethod(labTitle, msg + "\r\n" + i + "秒后关闭");
Thread.Sleep(ts);

OperationLabelMethod(labTitle, null);
).Start();
//MessageBox.Show(msg);

delegate void OperationLabel(Label lab, string txt);
/// <summary>
/// 通过委托方法设置或隐藏Label
/// </summary>
/// <param name="lab"></param>
/// <param name="txt"></param>
void OperationLabelMethod(Label lab, string txt)

if (lab.InvokeRequired)

OperationLabel method = OperationLabelMethod;
if(!this.IsDisposed)// 点保存,然后马上关闭窗体时,会导致this变成null了,所以这里要判断
Invoke(method, lab, txt);

else

if (string.IsNullOrEmpty(txt))

lab.Text = string.Empty;
lab.Visible = false;

else

lab.Text = txt;
lab.Visible = true;


本回答被提问者采纳

c# 弹出式对话框 类似于c语言中的messagebox

参考技术A 有两个办法
1.使用MessageBox.Show("说明","标题",图标参数,按钮参数);
2.自己写个Form(例From1),然后是用户自己弹出(Form1
f1=new
Form1();
f1.ShowDialog();
这个能满足更高要求

以上是关于如何使messagebox.show对话框,在3秒之后自动消失 C的主要内容,如果未能解决你的问题,请参考以下文章

对话框控件 MessageBox.Show()用法补充 打开新窗体的3中模式

MessageBox的Buttons和三级联动

MessageBox的Buttons和三级联动

c# 弹出式对话框 类似于c语言中的messagebox

winform中如何使用确认对话框

对话框