如果没有任何外部文件,如何从c#类设置ToolBoxBitmap图标?

时间:2016-03-30 17:58:16

标签: c# vb.net bitmap toolbox

作为多年来使用过许多语言IDE的人,这似乎是功能上的差距,因为Visual Studio 6允许嵌入“' icon'自定义用户控件直接进入该控件,而无需随项目分发任何其他文件。

我是否仍然使用在代码中创建的图像作为工具箱图标。可以是存储为字符串并解码的base64编码图像,也可以使用Graphics api创建新的位图并进行设置。我知道从另一个现有文件加载图标的选项。

如何将图标加载到工具箱中的当前示例如下:

[ToolboxBitmap( typeof( Resfinder ), "MyControl.bmp" )]
public partial class MyControl: UserControl {

}

只是为了进一步澄清我正在寻找的内容:

在以前的IDE版本中,用作工具箱图标的图像可以直接嵌入到控件本身,而不需要控制文件以外的任何其他文件和控制表单布局文件,只需要以下内容: p>

  • 控制文件
  • 控制表单布局文件

在当前版本的IDE中,最常见的方法是:

  • 资源映射器
  • 控制文件
  • 控制表单布局文件
  • 位图格式的图标。
  • 项目文件(需要详细说明上述所有内容是如何组合在一起的,否则,它们只是一堆文件)

BEFORE (IDE之前的.NET)

enter image description here enter image description here

源分发:同一文件夹中的2个文件。 需要项目文件:否

AFTER (基于.NET的IDE' s)

https://support.microsoft.com/en-ca/kb/311315

来源分发:各种文件夹中的7-10个文件,包括项目文件。

需要项目文件:是

1 个答案:

答案 0 :(得分:0)

试试这个:

  1. 将图像文件作为背景图像添加到控件中。
  2. 转到Control的resx文件,然后选择打开方式| Xml(文字)
  3. 复制整个<data>节点以添加图像。
  4. 将图像文件添加为Resources.resx图像。
  5. 使用Open With |打开Resources.resx Xml(文字)。
  6. 将数据节点替换为Control中的数据节点。
  7. 将name属性更改为其他内容。
  8. 现在使用ToolboxBitmap来调用资源。
  9. 清理 - 删除背景图片。