tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDoWork イベント内でメッセージボックス
記事No6321
投稿日: 2007/09/18(Tue) 14:22
投稿者しん
DoWork イベント内でメッセージボックスを表示しても問題ないですか?

私の実現したい処理は、
10万とかという数のファイルを処理したいのですが、
流れ的には、実行ボタンを押すと
     A)10万とかという全てのファイルが存在しているかのチェック(重たい)
     B)存在していないファイルが存在した場合には、
         続行・キャンセルを選択するメッセージボックスを表示。
         全てのファイルが存在している場合には、
         メッセージボックスを表示せず、C2へ。
     C1)キャンセル時はそこで処理終了
     C2)続行時は実際に10万というファイルの内、
           存在している分のみ処理(重たい)を行う
という感じです。


1つの BackgroundWorker の DoWork イベント内に
全てを記述してしまって良いのでしょうか?

それとも、A用の BackgroundWorker 、C2用の BackgroundWorker というように
2つ以上の BackgroundWorker を使用すべきでしょうか?

[ツリー表示へ]
タイトルRe: DoWork イベント内でメッセージボックス
記事No6322
投稿日: 2007/09/18(Tue) 17:59
投稿者魔界の仮面弁士
> DoWork イベント内でメッセージボックスを表示しても問題ないですか?

ヘルプで、「MessageBox クラス」についての説明を見ると、

》 この型の public static (Visual Basic では Shared) メンバは
》 すべて、スレッド セーフです。インスタンス メンバの場合は、
》 スレッド セーフであるとは限りません。

と書かれていますね。

そして MessageBox.Show は Shared なメソッドなので、
すなわち、「スレッドセーフ」ということになるかと。

[ツリー表示へ]