モードレスなメッセージボックス表示

 

モーダルダイアログ : OKボタンを押す事により次の処理を行うダイアログ

モードレスダイアログ : OKボタンを押さずとも裏で処理が動いているダイアログ

 

これをメッセージボックスに当てはめると以下になる。

モーダルはそのままなので簡単

 MessageBox.show("test");

 

モードレスはスレッドを作成する必要あり

    using System.Threading;

new Thread(new ThreadStart(delegate

    {

      MessageBox.Show("test");

    })).Start();

参考

Create a Modeless Messagebox - stackoverflow

 

追記:

  (.NET Framework 4以降ならTaskを使う。ついでにラムダ式も使用)

    using System.Threading.Tasks;
Task.Factory.StartNew(() => 
MessageBox.Show("test")
);

ThreadとTaskの違いは以下を参照

[雑記] スレッド プールとタスク - ++C++; // 未確認飛行C