Il modo più semplice per garantire che venga visualizzata l'icona di una barra degli strumenti consiste nel creare un file bmp 16x16, posizionarlo nella cartella del progetto del controllo e impostarlo come risorsa incorporata.
Seguiamo un esempio relativamente semplice: Supponiamo di avere un componente chiamato MyCompany.Components.MyControl. Creare un bitmap 16x16 e salvarlo nella directory principale della cartella di progetto MyCompany.Components.MyControl come MyControl.bmp. Quindi fare clic con il pulsante destro del mouse sul file MyControl.bmp e selezionare Proprietà> Crea azione> Risorsa incorporata. A quel punto, hai ancora un passaggio: aggiungi l'attributo ToolboxBitmap sopra la definizione della classe (se usi le classi parziali, posiziono l'attributo nel file .cs principale del controllo - non nel file Designer.cs). Per fare questo, utilizzare la seguente sintassi:
[ToolboxBitmap(typeof(MyControl), "MyControl.bmp")]
essere assolutamente sicuri che:
- Lo spazio dei nomi per la classe del progetto MyControl corrisponde la struttura di cartelle per cui appare il progetto nella soluzione.
- Potrebbe sembrare ovvio, ma assicurati di aver citato il nome corretto per il tuo file bmp.
La bitmap deve apparire ogni volta che il controllo viene aggiunto a una toolbox, sia che venga aggiunto manualmente o aggiunto a livello di codice.
Solo per FYI: questi tipi di controlli sono Web Custom Controls (WCC), non Web User Controls (WUC). I WUC sono file ASCX che sono utilizzati in tutto il progetto web, i WCC sono usati a macchina ... Quindi nel tuo caso dovresti scrivere WCC nella tua domanda - solo per non confondere gli altri. –
Non so di cosa tu stia parlando. Questo è System.Windows.Forms.ErrorProvider. –
Se si fornisce un percorso "hardcoded" alla bitmap (ToolboxBitmap ("c: \\ my.bmp") mostra ancora la bitmap predefinita? –