タスクバーに表示されるMessageBox.Showを呼び出す方法はありますか?
もちろん、カスタムフォームを作成して表示するのが最善かもしれませんが、怠惰なプログラマーである私は、古き良きMessageBox.Show呼び出しで取得するデフォルトのエラーおよびアラート通知アイコンをやり直さないようにしたいと思います。
タスクバーに表示されるMessageBox.Showを呼び出す方法はありますか?
もちろん、カスタムフォームを作成して表示するのが最善かもしれませんが、怠惰なプログラマーである私は、古き良きMessageBox.Show呼び出しで取得するデフォルトのエラーおよびアラート通知アイコンをやり直さないようにしたいと思います。
MessageBoxOptions列挙型を使用してみてください。
MessageBox.Show("Test", "Test", MessageBoxButtons.OK, MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
注:これの使用には、マルチスレッドの副作用がいくつかあります。デーモンからユーザーインターフェイスを表示する方法の記事を参照してください。
IWin32Windowを実装し、ハンドルをIntPtr.Zero(デスクトップ)として返し、そのウィンドウを親としてメッセージボックスを表示します。
private static Image GetImage(MessageBoxIcon icon)
{
switch (icon)
{
case MessageBoxIcon.Error:
return System.Drawing.SystemIcons.Error.ToBitmap();
case MessageBoxIcon.Exclamation:
return System.Drawing.SystemIcons.Exclamation.ToBitmap();
case MessageBoxIcon.Information:
return System.Drawing.SystemIcons.Information.ToBitmap();
case MessageBoxIcon.Question:
return System.Drawing.SystemIcons.Question.ToBitmap();
}
return null;
}