2010-08-13 196 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