Formsのイベントハンドラの中でMessageBox.Showを使うのが良くないというのなら分かる。
中でメッセージループを回す結果、イベントの処理中にもかかわらず
他のイベントが発生する可能性があるためという話だけど。