Impostare l'icona di un controllo nella casella degli strumenti (Windows Form .NET)
I controlli creati ricevono sempre un'icona generica per la finestra Casella degli strumenti in Visual Studio. Tuttavia, quando si modifica l'icona, aggiunge un senso di professionalità al controllo e lo distingue nella casella degli strumenti. Questo articolo illustra come impostare l'icona per il controllo.
Icona Bitmap
Le icone per la finestra della casella degli strumenti in Visual Studio devono essere conformi a determinati standard; in caso contrario, vengono ignorate o visualizzate in modo non corretto.
- Dimensioni: le icone per un controllo devono essere un'immagine bitmap di 16x16.
- Tipo di file: l'icona può essere un file Bitmap (.bmp) o un file icona di Windows (.ico).
- Trasparenza: il colore magenta (RGB:
255,0,255
, esadecimale:0xFF00FF
) viene reso trasparente. - Temi: Visual Studio ha più temi, ma ogni tema è considerato scuro o chiaro. L'icona deve essere progettata per il tema chiaro. Quando Visual Studio usa un tema scuro, i colori scuri e chiari nell'icona vengono invertiti automaticamente.
Come assegnare un'icona
Le icone vengono assegnate a un controllo con l'attributo ToolboxBitmapAttribute . Per altre informazioni sugli attributi, vedere Cenni preliminari sugli attributi (C#) o attributi (Visual Basic).
Suggerimento
È possibile scaricare un'icona di esempio da GitHub.
L'attributo viene impostato sulla classe del controllo e dispone di tre costruttori diversi:
ToolboxBitmapAttribute(Type)— Questo costruttore accetta un singolo riferimento al tipo e da tale tipo tenta di trovare una risorsa incorporata da usare come icona.
Il tipo viene FullName usato per cercare una risorsa incorporata nell'assembly di quel tipo, usando il formato seguente:
{project-name}.{namespace-path}.{type-name}{.bmp|.ico}
. Ad esempio, se viene fatto riferimento al tipoMyProject.MyNamespace.CompassRose
, l'attributo cerca una risorsa incorporata denominataMyProject.MyNamespace.CompassRose.bmp
oMyProject.MyNamespace.CompassRose.ico
.// Looks for a CompassRose.bmp or CompassRose.ico embedded resource in the // same namespace as the CompassRose type. [ToolboxBitmap(typeof(CompassRose))] public partial class CompassRose : UserControl { // Code for the control }
' Looks for a CompassRose.bmp or CompassRose.ico embedded resource in the ' same namespace as the CompassRose type. <ToolboxBitmap(GetType(CompassRose))> Public Class CompassRose ' Code for the control End Class
ToolboxBitmapAttribute(Type, String): questo costruttore accetta due parametri. Il primo parametro è un tipo e il secondo è lo spazio dei nomi e il nome della risorsa incorporata nell'assembly di tale tipo.
// Loads the icon from the WinFormsApp1.Resources.CompassRose.bmp resource // in the assembly containing the type CompassRose [ToolboxBitmap(typeof(CompassRose), "WinFormsApp1.Resources.CompassRose.bmp")] public partial class CompassRose : UserControl { // Code for the control }
' Loads the icon from the WinFormsApp1.Resources.CompassRose.bmp resource ' in the assembly containing the type CompassRose <ToolboxBitmap(GetType(CompassRose), "WinFormsApp1.Resources.CompassRose.bmp")> Public Class CompassRose ' Code for the control End Class
ToolboxBitmapAttribute(String)— Questo costruttore accetta un singolo parametro stringa, il percorso assoluto del file icona.
// Loads the icon from a file on disk [ToolboxBitmap(@"C:\Files\Resources\MyIcon.bmp")] public partial class CompassRose : UserControl { // Code for the control }
' Loads the icon from a file on disk <ToolboxBitmap("C:\Files\Resources\MyIcon.bmp")> Public Class CompassRose ' Code for the control End Class
.NET Desktop feedback