1

有没有办法调用出现在任务栏中的 MessageBox.Show?

当然,最好只创建一个自定义表单并显示它,但作为一个懒惰的程序员,我想避免重做您通过老式 MessageBox.Show 调用获得的默认错误和警报通知图标。

4

3 回答 3

3

尝试使用MessageBoxOptions枚举:

MessageBox.Show("Test", "Test", MessageBoxButtons.OK, MessageBoxIcon.Information,
    MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);

注意:使用这个有一些多线程副作用,请参阅文章How To Display A User Interface From A Daemon

于 2009-03-16T09:34:02.643 回答
1

实现一个 IWin32Window,将句柄作为 IntPtr.Zero(桌面)返回,然后以该窗口作为父窗口显示消息框。

于 2009-03-16T08:56:54.447 回答
1
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;
} 
于 2009-03-16T09:23:34.290 回答