Cómo agregar iconos a los CustomControls para que se vean en la ToolBox por Maxi Guillen

12. marzo 2008

Muchas veces creamos controles personalizados para utilizar en los formularios.
A veces estos controles se colocan en un Assembly para ser reutilizado y en otras dentro
de la propia capa de presentación de nuestra aplicación.
Por defecto el IDE asigna un engranaje azul como icono en la ToolBox.
Cuando tenemos muchos controles a veces puede costar encontrar el que queremos.
Y otras veces solamente por un tema estético podríamos querer asignar un ícono determinado, p.e.
cuando hacemos un componente de controles para un cliente.

Podemos fácilmente asignar imágenes a nuestros controles para visualizarlos más rapido desde la
ToolBox. Para asignar una imagen a un control debemos realizar los siguientes pasos:

  1. Agregar una imagen en los Resources de la Assembly p.e. "MiImagen.ico"
  2. Configurar la imagen como "Embeded resource" desde la property grid
  3. Asignar el atributo "ToolboxBitmap" al control en cuestion. "ToolboxBitmap" puede recibir dos parámetros, el primero "Type" es la clase del control donde el IDE va air a buscar una imagen, el segundo es un string "name" y define una imagen.


Ejemplos:

//Esto significa que nuestro control que hereda de TextBox mostrará el icono por defecto
//que tiene la clase TextBox
[ToolboxBitmap(typeof(TextBox))]
public partial class MiControl: TextBox
{
}

//Esto significa que nuestro control que hereda de TextBox mostrará el icono por defecto
//que tiene la clase Button
[ToolboxBitmap(typeof(Button))]
public partial class MiControl: TextBox
{
}

//Esto significa que nuestro control que hereda de TextBox mostrará el icono por defecto
//que tiene la clase TextBox
[ToolboxBitmap(typeof(TextBox))]
public partial class MiControl: TextBox
{
}

//Esto significa que nuestro control que hereda de TextBox mostrará el icono
//MiImagen que esta definido en los resources
[ToolboxBitmap(typeof(MiControl), "Resources.MiImagen.ico")]
public partial class MiControl: TextBox
{
}
Atencion! Los íconos deben ser de 16x16 pixels y por lo que he observado Visual Studio utiliza 256 colores para mostrar los íconos en la ToolBox así que no se esmeren mucho buscando imágenes. Utilizen algún programa que pueda mostrarles como se verá en 256 colores y creen el archivo de imagen correspondiente. Recuerden de configurar la transparencia para que se vea  bien la imagen.
Para poder visualizar los nuevos íconos lo recomendable es recompilar el Assembly. Luego agregen una Tab en en la ToolBox hacen boton derecho sobre esa Tab y luego "Choose Items"  seleccionan el Assembly y dan Aceptar. A continuación el IDE cargará los controles en la nueva solapa creada.
Si hacen alguna modificación deben borrar a mano los controles de la Tab y luego repetir la operación anterior.

 

 

Visual Studio

Comentarios

Añadir comentario




  Country flag

biuquote
  • Comentario
  • Vista previa
Loading