2010-08-13 19 views
7

Tengo un UserControl en mi proyecto llamado 'UIWizard.cs', y un mapa de bits de 24 bits llamado 'UIWizardToolboxBitmap.bmp' que tiene su acción de compilación establecida en 'Recurso incrustado'. He verificado que existe en el manifiesto:¿Por qué no funciona ToolboxBitmapAttribute?

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

He probado estas declaraciones de atributos:

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

Cuando me juego mi biblioteca a 'Release Build' y de referencia en otro proyecto y agregue los elementos de ToolBox manualmente usando Elija los elementos ... todavía no puede mostrar mi mapa de bits correctamente. Quiero evitar el uso de una ruta absoluta, porque este es un proyecto controlado por fuente, y no todos usarán las mismas asignaciones.

MSDN realmente no es de mucha ayuda ya que falta la documentación sobre ToolBoxBitmapAttribute, y la mayoría de lo que hay en la web es bastante vago.

+0

Posible duplicado de [¿Mostrar icono personalizado para control personalizado?] (Http://stackoverflow.com/questions/742781/displaying-custom-icon -para-aduana-control) –

Respuesta

2

Todo es formato de mapa de bits.
1. Si mal no recuerdo, se utilizan 256 colores, mapa de bits 16x16 73DPI.
2. También intente agregar [ToolBoxItem (verdadero)] a su clase

+0

[ToolboxBitmap (typeof (UIWizard), "Resources.UIWizardToolboxBitmap")] [ToolboxItem (true)] pública parcial de clase UIWizard: control de usuario { Works. –

+0

¡No puedo obtener nada de esto para salvar mi vida! ¡He hecho todo lo sugerido y todavía consigo ese engranaje morado en la caja de herramientas! Además, pensé que se suponía que era un 16 color, 16x16 píxeles? –

+0

Acabo de ponerlo a trabajar. Para todos los demás que no pueden hacer que funcione por alguna razón, ¡asegúrese de estar usando el espacio de nombres correcto! En mi nuevo UserControl, lo importé de otro lugar y tenía un espacio de nombres diferente. Tuve que cambiarlo al espacio de nombres del nuevo proyecto (haga clic con el botón secundario en el proyecto, vaya a propiedades y debajo de la pestaña de la aplicación, marque el "Espacio de nombres predeterminado". Debe coincidir con el espacio de nombres definido en el código del nuevo UserControl. –

Cuestiones relacionadas