2016-12-07 8 views
1

私のインストーラでは、プログラムをサーバーに登録するコマンドライン引数があり、メッセージボックスが作成され、登録が成功したことを示してプログラムが終了します。インストーラの上部またはアプリケーション終了後にメッセージボックスを表示しますか?

ここで問題となるのは、インストーラが停止し、プログラムが終了するのを待ってから続行することです。別の問題は、このメッセージがインストーラウィンドウの背後に表示されるため、ユーザがこれを見逃してインストーラに問題があると思われる可能性があるということです。

メッセージボックスをインストーラーの前に表示する方法はありますか?私はMessageBox.Show(this, "myMessage");を使ってみましたが、実際にはメッセージボックスはまったく表示されません。

そして、メッセージボックスを開いたままアプリケーションを閉じる方法がありますか?または、アプリがまだ開いていてもインストーラーを続行できますか?あなたはあなたの最初の引数としてthisを送信する必要はありません

答えて

-1
MessageBox.Show("MyMessage"); 

はここで私が使用しているインストーラプロジェクトです。それは一般的に暗示されています。それは言っている、それはまた、あなたがしようとしていることに悪影響を与えません。それが取ることができるさまざまな議論の束があります。ここではそれらをチェックアウト:https://msdn.microsoft.com/en-us/library/system.windows.forms.messagebox(v=vs.110).aspx

あなたはMessageBoxCaptionIcon年代、およびButton年代を編集することができます。

他のコードが含まれている場合は、問題を解決するのに役立ちます。

+0

これがどのように質問に答えるかは、私にはっきりと分かりません。あなたは、MessageBox.Show関数がどのように動作するかについて、ほとんど正確にランダウンするだけです。あなたの目標が、コードの残りの部分を手助けする必要があると言わざるを得なかった場合は、回答ではなくコメントとして投稿してください。 –

+0

洞察力のあるコディの宝石をありがとう。私のMSDNへの言及は、彼が実際に彼の問題を解決するのを助けたようですが、私は何を知っていますか? –

+0

これは、自己完結型の答えではなく、正しい方向へのプッシュであったため、コメントとして投稿されたもう一つの魅力的な議論になります。明確にするために、私はあなたが私のコメントで嫌になることを意図していませんでした。私はちょうどこれが実際の質問に答える方法を理解していません。これは、別のアプリケーションやウィンドウの上にメッセージボックスを表示することに関するかなり具体的な質問です。あなたが提供した情報は確かに有用ですが、コメントとしてより適切である。私たちはここで、答えを構成するものについてかなり厳しい基準を設けています。 –

2

私はそうのようにそれを呼び出すことによって、他のすべてのアプリケーションの最上部に表示するメッセージボックスを得た:

    MessageBox.Show(
         "Server registered successfully!", 
         "Gyptech Micrometer OPC Server", 
         MessageBoxButtons.OK, 
         MessageBoxIcon.Information, 
         MessageBoxDefaultButton.Button1, 
         MessageBoxOptions.DefaultDesktopOnly); 

重要な部分は、その最後のパラメータ、MessageBoxOptions.DefaultDesktopOnlyています。今度はボックスがインストーラの上に表示されます。)

+0

インストーラが実際に別のデスクトップで実行されている場合を除き、これは必要ではありません。あなたがしたいのは、ダイアログボックスの*所有者ウィンドウ*を指定することです。これは、 'Show'の特定のオーバーロードの最初のパラメータです。あなたは 'this 'を渡そうとしましたが、あなたは' this'が何であったかは言いませんでした。インストーラウィンドウ、つまり現在フォアグラウンドにあるウィンドウである必要があります。そうすることで、所有ウィンドウが表示された場合、所有ウィンドウは常にZ順の親の前に常に表示されるため、所有ウィンドウは常に先頭になります。 –

+0

@CodyGrayこれは多くの意味があります...これを行う方法がわかりません。ええと、synstaxの観点から言えば、 'this'の代わりに' 'thisInstallerWindow''のようなものを書くにはどうしたらいいですか? –

+0

@CodyGrayあなたが示唆している答えをコード化する方法を知っているなら、それをサンプルコードで回答として寄せられるでしょうか?それはおそらく私のベストを助けるだろう。 :) –

関連する問題