2010-08-13 146 views
7

我在我的项目中有一个名为'UIWizard.cs'的UserControl和一个名为'UIWizardToolboxBitmap.bmp'的24位位图,它的构建操作被设置为'Embedded Resource'。我证实,它并在清单中存在:为什么ToolboxBitmapAttribute不工作?

.mresource public BitFlex.Windows.Forms.Resources.UIWizardToolboxBitmap.bmp 
{ 
    // Offset: 0x00000000 Length: 0x00000336 
} 

我尝试了这些属性声明:

[ToolboxBitmap(typeof(UIWizard), "BitFlex.Windows.Forms.Resources.UIWizardToolboxBitmap.bmp")] 
public partial class UIWizard : UserControl { 

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

[ToolboxBitmap(typeof(UIWizard), "UIWizardToolboxBitmap")] 
public partial class UIWizard : UserControl { 

当我将库设置为“发布版本”,并引用它在另一个项目和使用手动添加工具箱项目选择项目...它仍然无法正确显示我的位图。我想避免使用绝对路径,因为这是一个源代码控制的项目,并不是每个人都会使用相同的映射。

由于缺少ToolBoxBitmapAttribute上的文档,MSDN确实没什么帮助,网上的大部分内容都很模糊。

+0

可能的重复[显示自定义控件的自定义图标?](http://stackoverflow.com/questions/742781/displaying-custom-icon -for-custom-control) – 2016-02-23 16:38:36

回答

2

这是所有的位图格式。
1.如果我没有记错,我们使用256色,16x16 73DPI位图。
2.还尝试添加[ToolBoxItem(true)]到你的班级

+0

[ToolboxBitmap(typeof(UIWizard),“Resources.UIWizardToolboxBitmap”)] [ToolBoxItem(true)] public partial class UIWizard:UserControl {0} 0} – 2010-08-17 15:11:48

+0

我无法获得任何救命!我已经做了一切建议,仍然在工具箱中得到这个愚蠢的紫色装备!另外,我认为应该是16色,16x16像素? – 2016-02-23 16:21:33

+0

刚刚工作。对于因某种原因无法工作的其他人,请确保您使用的是正确的名称空间!在我的新用户控件上,我从别的地方导入了它,并且它有一个不同的名字空间。我必须将它更改为新项目的名称空间(右键单击项目,转到属性,然后在应用程序选项卡下选中“默认名称空间”,它应该与新UserControl的代码中定义的名称空间匹配。 – 2016-02-23 16:31:26