【问题标题】:Displaying custom icon for custom control?显示自定义控件的自定义图标?
【发布时间】:2009-04-13 01:22:11
【问题描述】:

在 Visual Studio 中,当您创建自定义控件时,您会得到这个 丑陋的紫色小齿轮作为控件的图标,而不是自定义控件

那么如何更改控件的图标?

【问题讨论】:

    标签: c# user-controls custom-controls


    【解决方案1】:
    1. 将您的图标(例如“icon.bmp”16x16 像素)放在自定义控件项目的根文件夹中
    2. 在您的控件类之前添加这一行:[ToolboxBitmap(typeof(yourControl), "yourControl.bmp")]

    以下是您需要注意的进一步步骤:-

    1. 验证您的位图是否具有以下属性: 高度 16 像素 16像素宽度 位图保存为 16 色 bmp 文件
    2. 将其命名为与自定义控件的类相同的名称(即:yourControl.bmp)
    3. 将其放在同一目录中,然后使其成为程序集的嵌入式资源。
    4. 要将位图启用为嵌入资源,请右键单击位图文件并选择“属性”菜单项。在 Properties 页面中,将 Build Action 设置为 Embedded Resource。
    5. 因此,当您将控件放在页面中时,工具箱将在程序集清单中搜索与控件具有相同限定名称的嵌入式位图,这就是位图必须与类具有相同名称的原因您的控制权。

    更多讨论可以参考this

    【讨论】:

    • 这个是迄今为止最好的答案,非常详细!刚刚开始工作。对于由于某种原因无法使其工作的其他所有人,请确保您使用的是正确的命名空间!在我的新 UserControl 上,我从其他地方导入了它,它有一个不同的命名空间。我必须将其更改为新项目的命名空间(右键单击项目,转到属性,然后在应用程序选项卡下选中“默认命名空间”。这应该与新 UserControl 代码中定义的命名空间匹配。
    • 我在 VS2013 Prof 中使用了这个解释,在表单中我得到了漂亮的自定义图标。但是在工具箱中,丑陋的默认用户控件图标仍然存在。
    • 引用this site : Note that the control's icon does not show on solutions that contain the project for the control. You only see the icon after you have created the Release/Debug binary version of the control library and imported it from another project as a .dll assembly.,确实如此。
    【解决方案2】:

    在类上使用ToolboxBitmap 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      相关资源
      最近更新 更多