2011-08-10 8 views
1

myApp.exeをダブルクリックすると、MessageBox.Show()関数がうまく動作します。 しかし、私はアプリケーションプロセスをソースコードでアタッチしようとしました。ブレークポイントを設定してください 以下のコードでは動作しません。私が意味するのは、MessageBoxがポップアップしなかったということです。コードは別の外部例外処理によってキャッチされました。それはマルチスレッドのタイミングの問題によって引き起こされますか?MessageBox.show()関数がいつか動作しません

なぜわからないのですか?おかげさまで

if (File.Exists(myConfigFile)) 
{ 
    doc.Load(myConfigFile); 
} 
else 
{ 
    MessageBox.Show("Read " + myConfigFile + " failed, can't find the file", 
    "Critical Warning", 
    MessageBoxButtons.OK, 
    MessageBoxIcon.Error); 
} 
+1

あなたのタスクバーを見てください。 MessageBoxのウィンドウがタスクバーの他の場所に表示されていることがわかります。これをクリックすると、MessageBoxが表示されます。 –

+0

ポップアップブロッカーがオンになっていないことを確認しました。私はそれが理由によって引き起こされないと考えました。 –

+1

ポップアップブロッカーはインターネットブラウザにのみ影響します。 Winformsアプリケーションには影響しません。 –

答えて

1

あなたのソースコードには、添付されたプロセスとの差異があると思います。最初にソリューションを再構築し、ビルドターゲットに応じて、ソリューションフォルダ「bin \ debugまたはbin \ release」から新しく作成したアプリケーションexeを起動し、アプリケーションプロセスをソースコードに添付します。

+0

私は 'Thread.sleep(10000);'を追加し、ソースコードをapp.exeに添付しました。私は自分のコードをダブルチェックし、うまく動作します。最終的に、私の解決策を再構築して私の問題を解決しました。ありがとう。 –

1

MessageBox.Showは、Webアプリケーションでは使用できません。あなたのページにはのようなjavascriptを使うことができます。

関連する問題