2010-11-22 4 views

答えて

11

System.Windows.Forms名前空間で使用しているデフォルトのMessageBoxは常にモーダル(つまりブロック)です。モードレスメッセージボックスを使用する場合は、MessageBoxのような独自のWindowsFormを作成する必要があります。

次のようにあなたは、このフォームが表示されます。

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

の1行まで、これらの他の答えは、私は、文字列を.SHOWに渡すことができる簡素化することができます"(私はたくさんのメッセージボックスを持っています)? – Alex

+0

Formクラスで、文字列メンバーを追加し、コンストラクタを使用して設定します。 FormLoadでは、この文字列を静的テキストとしてフォームに表示します。 – Aamir

18
private void ShowMessageBox(string text, string caption) 
{ 
    Thread t = new Thread(() => MyMessageBox(text, caption)); 
    t.Start(); 
} 

private void MyMessageBox(object text, object caption) 
{ 
    MessageBox.Show((string)text, (string)caption); 
} 

あなたのテキストとキャプションをShowMessageBox()を呼び出すことができます。これは単純なサンプルに過ぎず、あなたが望むボタンやアイコンの所有者やその他の引数を追加することができます。

8

おそらく最も簡単です:

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

あなたは、私が「クイック検索を使用できるようにコード

new Thread(() => System.Windows.Forms.MessageBox.Show(text)).Start(); 
関連する問題