【问题标题】:What Icons/Images can be used directlly using .NET Framework Classes?使用 .NET Framework 类可以直接使用哪些图标/图像?
【发布时间】:2023-03-09 23:43:01
【问题描述】:

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

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

PictureBox_Error.BackgroundImage = SystemIcons.Error.ToBitmap 

但如您所见,我需要为上图中的每个ToolStripButton 提供更多资源。

那么我的问题是:

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

【问题讨论】:

  • 不,不是重复的,这个问题是关于一个包含资源的文件,答案是文件的位置。我在问是否可以像使用 SystemIcons 类一样直接访问其他 Windows 图标/图像。
  • 那你的问题是什么? “如何使用 DLL 中的位图”?见How can I use the images within shell32.dll in my C# project?。如果您的问题是“BCL 中还有哪些包含图标的类?”,那么我认为它有点过于宽泛了。
  • 从 MS DLL 中提取图像与在应用程序中包含相同图像作为资源的最大优势是什么?
  • @ElektroStudios 对我来说很有意义。这对我来说似乎不是一个重复的问题。从第一条评论来看,CodeCaster 似乎是敌对的。
  • 这里的关闭似乎有点仓促。

标签: c# vb.net image api bitmap


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 2010-09-14
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 2013-06-26
    相关资源
    最近更新 更多