开发自定义控件并想要放置自定义图标。尝试在[ToolboxBitmap(" MyResourcePictureFileName")]属性中使用解决方案资源文件,但图标未设置而是显示默认用户控件图标。而固定路径工作正常
e.g。 [ToolboxBitmap(@" C:\ frame.bmp")]
但我不想使用绝对位置。
问题:如何使用我的控件的自定义图像/图标
这是我的代码:
注意: frame.bmp已在我的资源中,操作属性=嵌入式资源用于构建
// DONT WANT TO USE THIS --> [ToolboxBitmap( @"C:\frame.bmp")]
[ToolboxBitmap("Resources.frame.bmp")]
[ToolboxItem(true)]
public partial class MyCustomPanelControl : Panel
{
................
................
}
请建议,
由于
答案 0 :(得分:1)
如果您将图像保存为资源并且尝试使用Properties.Resources.YourImage获取其路径,那么它将无法工作,因为资源正在返回图像对象而不是其路径,正如您所期望的那样。 / p>
如果您希望这样做,请编辑注释以接收图像对象或将图像保存到临时文件,然后使用其路径,如:
string IMG_PATH = Path.GetTempPath();
IMG_PATH += "imagemsample.png"; //adds the name of the file you want
Properties.Resources.YourImage.Save(IMG_PATH);
然后你可以:
[ToolboxBitmap(IMG_PATH)]
答案 1 :(得分:1)
[ToolboxBitmap("Resources.frame.bmp")]
资源名称不正确,这是工具箱位图btw的一个相当长期的问题。首先确保正确嵌入位图,不使用资源设计器:
.mresource public DefaultNamespace.frame.bmp
{
// Offset: 0x000000B8 Length: 0x000004F6
}
请注意.mresource名称,即您在属性中添加的名称。修正:
[ToolboxBitmap("DefaultNamespace.frame.bmp")]
更换" DefaultNamespace"用实际名称。
答案 2 :(得分:0)