Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c中的非自动锁定消息框#_C#_.net_Winforms - Fatal编程技术网

C# c中的非自动锁定消息框#

C# c中的非自动锁定消息框#,c#,.net,winforms,C#,.net,Winforms,有人知道.NET中的messageBox在关闭之前不会阻止创建它的线程吗?您通过System.Windows.Forms命名空间使用的默认messageBox将始终是模态的(即阻止)。如果您想要一个无模式的消息框,您应该创建自己的WindowsForm,它看起来像一个MessageBox 然后,您将按如下方式显示此表单: // C# //Display frmAbout as a modeless dialog Form f= new Form(); f.Show(); 您可以使用文本和标题调

有人知道.NET中的messageBox在关闭之前不会阻止创建它的线程吗?

您通过
System.Windows.Forms
命名空间使用的默认
messageBox
将始终是模态的(即阻止)。如果您想要一个无模式的消息框,您应该创建自己的
WindowsForm
,它看起来像一个
MessageBox

然后,您将按如下方式显示此表单:

// C#
//Display frmAbout as a modeless dialog
Form f= new Form();
f.Show();

您可以使用文本和标题调用
ShowMessageBox()
。这只是一个简单的示例,您可以添加按钮或图标所有者或其他您想要的参数。

最简单的可能是:

Thread t = new Thread(() => MessageBox.Show(text));
t.Start();

您可以将这些其他答案简化为一行代码

new Thread(() => System.Windows.Forms.MessageBox.Show(text)).Start();

我可以传递给。显示一个字符串,这样我就可以使用一个快速的“查找和替换”(我有很多MessageBox)?在表单类中,添加一个字符串成员并通过构造函数进行设置。在FormLoad上,将此字符串作为静态文本显示在表单上。
new Thread(() => System.Windows.Forms.MessageBox.Show(text)).Start();