如何在C#windows窗体对话框中显示标准错误图标?

如何在C#windows窗体对话框中显示标准错误图标?,c#,winforms,C#,Winforms,我想在Windows窗体对话框上使用标准错误图标()。如何将错误图标加载到图像中进行显示?使用icon.ToBitmap() 编辑: 三年后,又一次投票,我觉得有必要指导那些只想把图标画到图形对象上的人阅读@Hans Passant的答案。这是一个更好的解决方案。为了画一个小小的图标,我不得不对烧掉控件和Windows窗口等昂贵资源的可怕浪费嗤之以鼻。要保存一行代码,请执行以下操作: protected override void OnPaint(PaintEventArgs e) {

我想在Windows窗体对话框上使用标准错误图标()。如何将错误图标加载到图像中进行显示?

使用icon.ToBitmap()

编辑:


三年后,又一次投票,我觉得有必要指导那些只想把图标画到图形对象上的人阅读@Hans Passant的答案。这是一个更好的解决方案。

为了画一个小小的图标,我不得不对烧掉控件和Windows窗口等昂贵资源的可怕浪费嗤之以鼻。要保存一行代码,请执行以下操作:

    protected override void OnPaint(PaintEventArgs e) {
        e.Graphics.DrawIcon(SystemIcons.Error, 10, 10);
        base.OnPaint(e);
    }

如果您使用的是Visual Studio的设计器,请添加PictureBox对象。然后在代码中,设置PictureBox的Image属性:

dialog.PictureBox.Image = SystemIcons.Error.ToBitmap();

顺便说一句,这需要.NET3.5或更高版本。@Evan:这不是真的,比预期的要容易。谢谢。而且从1.0开始就一直在那里。@Ed:是的。只有盾牌图标需要3.5或更高版本。对,假设你只需要画它,而不需要操纵它或做任何你需要图像的事情。在这种情况下,“溅射”会消失:D@EdS-sputter,如果您想要特殊效果,那么您可以使用Graphics.FromImage()并仍然使用DrawIcon()。但我承认我缺乏想象力。你有真实的用法吗?嗯,要调用FromImage,你需要一个。。。图像,而不是图标。将其保存到磁盘就是其中之一。将图像作为成员变量进行维护是另一个问题。将其指定为控件的图像属性(如PictureBox)是另一种方法。我承认,很多时候,你只需要画这个东西,在这种情况下,你的画是一个更好的解决方案。
dialog.PictureBox.Image = SystemIcons.Error.ToBitmap();