2010-08-13 6 views
7

Ich habe ein UserControl in meinem Projekt namens 'UIWizard.cs', und eine 24-Bit-Bitmap mit dem Namen 'UIWizardToolboxBitmap.bmp', deren Build-Aktion auf 'Embedded Resource' gesetzt ist. Ich festgestellt, dass es im Manifest existiert:Warum funktioniert ToolboxBitmapAttribute nicht?

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

ich diese Attributdeklarationen versucht haben:

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

Wenn ich meine Bibliothek ‚Releasebuild‘ gesetzt und verweisen Sie in ein anderes Projekt und Fügen Sie die ToolBox-Elemente manuell hinzu, indem Sie verwenden. Wählen Sie Elemente ... es schlägt immer noch fehl, meine Bitmap ordnungsgemäß anzuzeigen. Ich möchte vermeiden, einen absoluten Pfad zu verwenden, da dies ein quellgesteuertes Projekt ist und nicht alle die gleichen Zuordnungen verwenden.

MSDN ist wirklich nicht viel Hilfe, da die Dokumentation auf dem ToolBoxBitmapAttribute fehlt, und das meiste von dem, was im Web ist, ist ziemlich vage.

+0

Mögliche Duplikat [für benutzerdefinierte Steuerelement angezeigt benutzerdefinierte Symbol?] Hinzufügen (http://stackoverflow.com/questions/742781/displaying-custom-icon -für-custom-control) –

Antwort

2

Es ist alles Bitmap-Format.
1. Wenn ich mich recht erinnere, sind wir 256 Farben verwendet, 16x16 73DPI Bitmap.
2. Versuchen Sie auch [ToolBoxItem (true)], um Ihre Klasse

+0

[ToolboxBitmap (typeof (UIWizard), "Resources.UIWizardToolboxBitmap")] [ToolboxItem (true)] public partial class UIWizard: Usercontrol { Works. –

+0

Ich kann nichts davon bekommen, um mein Leben zu retten! Ich habe alles vorgeschlagen und bekomme immer noch diese dumme lila Ausrüstung in der Toolbox! Außerdem dachte ich, dass es ein 16 Farben 16x16 Pixel sein sollte? –

+0

Habe es gerade zur Arbeit gebracht. Für alle anderen, die es aus irgendeinem Grund nicht zum Laufen bringen können, stellen Sie sicher, dass Sie den richtigen Namespace verwenden! Auf meinem neuen UserControl habe ich es von woanders importiert und es hatte einen anderen Namensraum. Ich musste es in den Namespace des neuen Projekts ändern (Rechtsklick auf das Projekt, gehe zu den Eigenschaften, und unter der Registerkarte "Anwendung" überprüfe den "Default Namespace". Das sollte mit dem im Code des neuen UserControl definierten Namespace übereinstimmen. –