为什么ToolboxBitmapAttribute无法正常工作?

7

我在项目中有一个名为'UIWizard.cs'的用户控件,还有一个24位的位图命名为'UIWizardToolboxBitmap.bmp',其生成操作设置为'嵌入式资源'。我已验证它确实存在于清单中:

.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 {

当我将我的库设置为“发布构建”并在另一个项目中引用它,并使用“选择项...”手动添加工具箱项时,仍然无法正确显示我的位图。我希望避免使用绝对路径,因为这是一个源控制的项目,不是每个人都会使用相同的映射。
MSDN真的没有太多帮助,因为关于ToolBoxBitmapAttribute的文档缺乏,而网络上的大部分内容都相当模糊。

可能是为自定义控件显示自定义图标?的重复问题。 - Arvo Bowen
1个回答

2

所有的格式都是位图格式。
1. 如果我没记错,我们使用了256种颜色,16x16 73DPI位图。
2. 还可以尝试将 [ToolBoxItem(true)] 添加到您的类中。


[ToolboxBitmap(typeof(UIWizard), "Resources.UIWizardToolboxBitmap")] [ToolBoxItem(true)] public partial class UIWizard : UserControl {可以正常工作。 - David Anderson
我真的无法把这个保存下来!我已经尝试了所有建议,但仍然在工具箱中看到那个愚蠢的紫色齿轮!另外,我以为它应该是16色,16x16像素? - Arvo Bowen
刚刚让它正常工作了。对于其他无法正常工作的人,请确保您正在使用正确的命名空间!在我的新用户控件中,我从其他地方导入了它,并且它有一个不同的命名空间。我必须将其更改为新项目的命名空间(右键单击项目,转到属性,在应用程序选项卡下检查“默认命名空间”)。这应该与新用户控件代码中定义的命名空间匹配。 - Arvo Bowen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接