可以使用.NET Framework类直接使用哪些图标/图像?

时间:2014-05-01 19:51:01

标签: c# vb.net image api bitmap

我正在编写自己的错误对话框'为了处理我的表单上的异常,我想创建一个此对话框的模板项目,我将在对话框中使用一些图像,但我不想用外部资源填充模板。

enter image description here

对于PictureBox,我使用SystemIcons类来获取并显示错误位图。

PictureBox_Error.BackgroundImage = SystemIcons.Error.ToBitmap 

但是你可以看到我需要为上面图片的每个ToolStripButton提供更多资源。

然后我的问题是:

存在更多类以在.NET Framework中使用预定义的图标/图像,如SystemIcons类?,如果没有,那么访问/检索存储在Windows资源dll中的位图的更好方法是什么?作为Shell32.dll(存储我需要的所有图标)?,使用API​​或托管代码?,哪个API? ......或者哪个本地班?

1 个答案:

答案 0 :(得分:0)

你可以这样做。谷歌充满了你知道的答案。您可能需要添加一些引用。如果有错误,请右键单击错误。

http://msdn.microsoft.com/en-us/library/system.drawing.icon.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

C#

 private void IconToBitmap(PaintEventArgs e)
    {
        // Construct an Icon.
        Icon icon1 = new Icon(SystemIcons.Exclamation, 40, 40);

        // Call ToBitmap to convert it.
        Bitmap bmp = icon1.ToBitmap();

        // Draw the bitmap.
        e.Graphics.DrawImage(bmp, new Point(30, 30));
    }

vb.net

Private Sub IconToBitmap(ByVal e As PaintEventArgs)

    ' Construct an Icon.'
    Dim icon1 As New Icon(SystemIcons.Exclamation, 40, 40)        

    ' Call ToBitmap to convert it.' 
    Dim bmp As Bitmap = icon1.ToBitmap() 

    ' Draw the bitmap.'
    e.Graphics.DrawImage(bmp, New Point(30, 30))         

End Sub