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.

Preguntas similare

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.
Respuesta Responder a este mensaje
#2 AOG
21/03/2006 - 14:01 | Informe spam
Hola Luis Miguel,
Gracias, el problema como tu indicas es poner la propiedad
"Build Action" al valor "Embedded Resource", así pues se ma ha solucionado
el problema.
Gracias de nuevo un saludo


"Luis Miguel Blanco" escribió:

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.
Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
21/03/2006 - 19:40 | Informe spam
Hola AOG

No hay de qué, me alegra haberte podido servir de ayuda 8-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"AOG" wrote:

Hola Luis Miguel,
Gracias, el problema como tu indicas es poner la propiedad
"Build Action" al valor "Embedded Resource", así pues se ma ha solucionado
el problema.
Gracias de nuevo un saludo


"Luis Miguel Blanco" escribió:

> 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.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida