Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los controles que cree siempre reciben un icono genérico para la ventana Cuadro de herramientas en Visual Studio. Sin embargo, al cambiar el icono, agrega una sensación de profesionalidad a su control y hace que destaque en el cuadro de herramientas. En este artículo se explica cómo establecer el icono del control.
Icono de mapa de bits
Los iconos de la ventana Cuadro de herramientas de Visual Studio deben cumplir ciertos estándares; de lo contrario, se omiten o se muestran incorrectamente.
- Tamaño: los iconos de un control deben ser una imagen de mapa de bits de 16x16.
- Tipo de archivo: el icono puede ser un mapa de bits (.bmp) o un archivo icono de Windows (.ico).
- Transparencia: el color magenta (RGB:
255,0,255
, Hexadecimal:0xFF00FF
) se representa de forma transparente. - Temas: Visual Studio tiene varios temas, pero cada tema se considera oscuro o claro. El icono debe diseñarse para el tema claro. Cuando Visual Studio usa un tema oscuro, los colores oscuros y claros del icono se invierten automáticamente.
Cómo asignar un icono
Los iconos se asignan al control con el atributo ToolboxBitmapAttribute. Para obtener más información sobre los atributos, consulte Atributos (C#) o Información general sobre los atributos (Visual Basic).
Sugerencia
Puede descargar un icono de ejemplo de GitHub.
El atributo se establece en la clase del control y tiene tres constructores diferentes:
ToolboxBitmapAttribute(Type)—Este constructor toma una sola referencia de tipo y, de ese tipo, intenta encontrar un recurso incrustado que se va a usar como icono.
El FullName del tipo se usa para buscar un recurso insertado en el ensamblado de ese tipo, con el siguiente formato:
{project-name}.{namespace-path}.{type-name}{.bmp|.ico}
. Por ejemplo, si se hace referencia al tipoMyProject.MyNamespace.CompassRose
, el atributo busca un recurso insertado denominadoMyProject.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)—Este constructor toma dos parámetros. El primer parámetro es un tipo, y el segundo es el namespace y el nombre del recurso insertado en el ensamblado correspondiente a ese 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)—Este constructor toma un único parámetro de cadena, la ruta de acceso absoluta al archivo de icono.
// 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