7

MessageBoxユーザーに警告メッセージをポップアップするために時々使用しています。私の特定のアプリケーションは、リモートで実行するように設定できるため、ユーザーがコンピューターの前にいる場合と、ユーザーがコンピューターの前に数時間または数日いない場合があります。を使用して警告メッセージをポップアップ表示することがありますMessageBoxが、しばらくすると警告が表示されなくなります。たとえば、いくつかの基準が満たされていないためにタスクを完了できないというアラートをポップアップ表示します。数分後、その基準が満たされ、タスクが開始されます。それMessageBoxはもはや関係ありません。

MessageBoxメッセージが関連しなくなった場合に、プログラムで を閉じることができるようにしたいと考えています。これは可能ですか?現在、次をMessageBox使用してスレッドでオブジェクトを作成します。

new Thread(() => MessageBox.Show("Some text", "Some caption")).Start();

これを行うのは、アプリケーションがMessageBox. 助言がありますか?

4

6 に答える 6

0

msgbox をいつ開始するか、開始しないかを判断する基準を例外としてください。例:

if (criteria)
{
    new Thread(() => MessageBox.Show("Some text", "Some caption")).Start();
}
else
{
    //do nothing
}
于 2013-10-28T13:15:33.357 に答える
0

メインフォームに埋め込まれたリッチテキストボックス(または複数行のテキストボックス)とともに、メッセージのログファイルを検討することをお勧めします。その後、メッセージをそこに投稿できます(タイムスタンプとともに1行に1つ)。メッセージボックスの問題については、プログラムで閉じる (良い) 方法があるかどうかわかりません (スレッドを中止してもうまくいきません)。

于 2013-10-28T13:24:05.530 に答える
0

DevExpress を使用する場合は、次のことができます。 アプリケーションには、アプリケーションのすべてのオープン フォームを含むプロパティOpenFormsがあります。特定のメッセージボックスを見つけることはできませんが、すべての XtraMessageBox を閉じることはできます。または、いくつかのタスク/スレッドで MessageBox を実行する場合は、閉じる前に確認してください。

于 2014-05-16T06:28:33.423 に答える