1

フォームを ShowDialog() として表示する次のコードがあります。

static void Main()
{

    DialogResult oDialogResult = oLogin.ShowDialog();

    if (oDialogResult == DialogResult.OK)
    {
       try
       {
           //do something here
       }
       catch (Exception Ex)
       {
            MessageBox.Show(Ex.Message, "IMPORTANT MESSAGE", MessageBoxButtons.OK, MessageBoxIcon.Error);
       }
   }
}

問題は、MessageBox.Show の呼び出しが、既に表示されている oLogin.ShowDialog() フォームの前 (上) にメッセージ ボックスを表示していないことです。なぜなのかご存知ですか ?

次のように、所有者フォームを含めるように MessageBox.Show を変更してみました。

MessageBox.Show(oLogin, Ex.Message, "IMPORTANT MESSAGE", MessageBoxButtons.OK, MessageBoxIcon.Error);

しかし、まだ同じ問題があります。

4

3 に答える 3

0

Main() メソッドのコードを、ビジュアル スタジオ プロジェクト テンプレートが最初に作成したものに変更します。

Application.EnableVisualStyles(); 
Application.SetCompatibleTextRenderingDefault(false); 
Application.Run(oLogin);

次に、try/catch ブロックを oLogin のクラスの FormClosing イベント ハンドラーに追加します。

于 2014-07-15T10:26:01.570 に答える
-1

試す:

DialogResult oDialogResult = oLogin.ShowDialog(this);
于 2014-07-15T09:43:42.847 に答える