diseño de controles

16/03/2006 - 18:59 por AOG | Informe spam
Hola, tengo un pequeño problema
¿Como puedo asignar un imagen al control que he diseñado?
Cuando agrego el control al cuadro de herramientas del VB 2005 me sale la
imagen por defecto (rueda dentada) yo "he creado" un control, bueno he crado
un poryecto de tipo libreria y he heredado en la clase el control
DataGridView para darle alguna funcialidades propias mia. he añadido al
proyecto una imagen de 16x16 bmp y en la cabecera de la clase he puesto lo
siguiente:

Imports System.Windows.Forms
Imports System.Globalization
Imports System.ComponentModel
Imports System.ComponentModel.Design.Serialization
Imports System.Drawing
Imports System.Reflection

<DefaultProperty("SCDataGridView"), _
ToolboxBitmap(GetType(Drawing.Bitmap), "SCDataGridView.bmp"), _
ToolboxItem(True)> _
Public Class SCDataGridView
Inherits DataGridView

Pero no me muestra en el cuadro de herramientas la imagen mia asignada.
¿falta algo?.

Un saludo.
 

Leer las respuestas

#1 Luis Miguel Blanco
17/03/2006 - 21:57 | Informe spam
Hola AOG

Debes añadir al proyecto el archivo que contiene la imagen que quieres usar
como icono identificativo del control en el cuadro de herramientas, aunque
supongo que esto ya lo habrás hecho. También comprueba que en la propiedad
"Build Action" de este archivo has asignado el valor "Embedded Resource".
Compila el proyecto de librería de controles a ver si ya en el cuadro de
herramientas aparece la imagen correcta asociada al control.

Si tampoco aparece la imagen adecuada haz lo siguiente: haz clic derecho
sobre el control en el cuadro de herramientas y elige del menú contextual la
opción "Choose Items". En el cuadro de diálogo para seleccionar controles,
localiza el correspondiente al tuyo, y desmarca el checkbox de selección, con
lo que quitarás el control del cuadro de herramientas. Cierra el diálogo, y
vuelve otra vez a abrirlo para seleccionarlo de nuevo, repite los pasos para
encontrar el control, marca su checkbox, y creo que en esta ocasión ya se
mostrará con el icono correcto.

A mí también me ha ocurrido esta situación, y parece como si el cuadro de
herramientas mantuviera una caché interna con los iconos de los controles, y
en el caso de los controles personalizados, hasta que no lo quitas y lo
vuelves a añadir, no se refresca su imagen.

Espero que con estas indicaciones ya te funcione adecuadamente. No obstante,
si te interesa o quieres un ejemplo más completo, escribí hace tiempo un
artículo sobre creación de controles personalizados, en la siguiente revista
gratuita on-line:

http://www.algoritmodigital.com/

podrás encontrarlo con el nombre "Desarrollo de controles Windows propios".
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AOG" wrote:

Hola, tengo un pequeño problema
¿Como puedo asignar un imagen al control que he diseñado?
Cuando agrego el control al cuadro de herramientas del VB 2005 me sale la
imagen por defecto (rueda dentada) yo "he creado" un control, bueno he crado
un poryecto de tipo libreria y he heredado en la clase el control
DataGridView para darle alguna funcialidades propias mia. he añadido al
proyecto una imagen de 16x16 bmp y en la cabecera de la clase he puesto lo
siguiente:

Imports System.Windows.Forms
Imports System.Globalization
Imports System.ComponentModel
Imports System.ComponentModel.Design.Serialization
Imports System.Drawing
Imports System.Reflection

<DefaultProperty("SCDataGridView"), _
ToolboxBitmap(GetType(Drawing.Bitmap), "SCDataGridView.bmp"), _
ToolboxItem(True)> _
Public Class SCDataGridView
Inherits DataGridView

Pero no me muestra en el cuadro de herramientas la imagen mia asignada.
¿falta algo?.

Un saludo.

Preguntas similares