有没有办法调用出现在任务栏中的 MessageBox.Show?
当然,最好只创建一个自定义表单并显示它,但作为一个懒惰的程序员,我想避免重做您通过老式 MessageBox.Show 调用获得的默认错误和警报通知图标。
有没有办法调用出现在任务栏中的 MessageBox.Show?
当然,最好只创建一个自定义表单并显示它,但作为一个懒惰的程序员,我想避免重做您通过老式 MessageBox.Show 调用获得的默认错误和警报通知图标。
尝试使用MessageBoxOptions枚举:
MessageBox.Show("Test", "Test", MessageBoxButtons.OK, MessageBoxIcon.Information,
MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
注意:使用这个有一些多线程副作用,请参阅文章How To Display A User Interface From A Daemon。
实现一个 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;
}