Habilitar controles atravez del evento doble click

13/01/2006 - 15:29 por Mauricio | Informe spam
Saludos a todos

Necesito que me ayuden ya que me surgió un problema que no he podido
resolverlo..

1. Tengo un procedimiento en el cual mando a deshabilitar todos los
controles del formulario (enabled = false)

2. Presento datos en algunos controles, y necesito que al hacer doble click
se habilite el control para poder modicar los datos.

3. El evento esta creado para cada control, pero en la ejecución al momento
de hacer doble click no hace nada ya que el estado del control esta
inicialmente en enabled = false.

De antemano le gracias

Att. Mauricio

Preguntas similare

Leer las respuestas

#6 SoftJaén
13/01/2006 - 20:24 | Informe spam
Te advierto que esto último tiene una pega, y es que el método
«OnDoubleClick» se dispara si el usuario hace doble clic sobre el formulario
que contiene los controles deshabilitados.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#7 Mauricio
13/01/2006 - 20:48 | Informe spam
Muy buena alternaviva la OnDoubleClick Enrrique, pero en realidad necesito
habilitar control por control y no todo de una vez como lo hace el
OnDoubleClick

Pero de todas manera muy interesante tu aporte...



"SoftJaén" escribió:

Te advierto que esto último tiene una pega, y es que el método
«OnDoubleClick» se dispara si el usuario hace doble clic sobre el formulario
que contiene los controles deshabilitados.

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.



Respuesta Responder a este mensaje
#8 Robernet
13/01/2006 - 22:04 | Informe spam
Mauricio, SoftJaén

Disculpen, pero mi solucion, no sera ni siquiera comentada, ni una
estrellita o un castigo por la chanta de la solucion, pero que funciona.

Sin mas
Robernet

"Mauricio" wrote in message
news:
Muy buena alternaviva la OnDoubleClick Enrrique, pero en realidad necesito
habilitar control por control y no todo de una vez como lo hace el
OnDoubleClick

Pero de todas manera muy interesante tu aporte...



"SoftJaén" escribió:

> Te advierto que esto último tiene una pega, y es que el método
> «OnDoubleClick» se dispara si el usuario hace doble clic sobre el


formulario
> que contiene los controles deshabilitados.
>
> Enrique Martínez
> [MS MVP - VB]
>
> Nota informativa: La información contenida en este mensaje, así como el
> código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
> garantías de ninguna clase, y no otorga derecho alguno. Usted asume
> cualquier riesgo al poner en práctica, utilizar o ejecutar lo


recomendado o
> sugerido en el presente mensaje.
>
>
>
Respuesta Responder a este mensaje
#9 SoftJaén
14/01/2006 - 09:03 | Informe spam
"Robernet" escribió:

Mauricio, SoftJaén

Disculpen, pero mi solucion, no sera ni siquiera comentada, ni una
estrellita o un castigo por la chanta de la solucion, pero que funciona.



Hola, Robernet:

En el tiempo que llevo metido en el "mundillo" de los grupos de noticias, la
verdad es que nunca he entrado en calificar el código fuente aportado por
cualquier usuario. ¡Hombre! Puede ser que en alguna ocasión excepcional,
haya felicitado a alguien por haber solucionado un problema, en principio
complicado, con una solución fácil y eficaz, o le haya recomendado alguna
que otra mejora en el código, porque éste presente algún que otro problema
posterior; pero nada más. Pero desde luego, lo que nunca voy a hacer, es
descalificar, y encima públicamente, una solución aportada por cualquier
usuario, porque el simple hecho de haberse molestado en buscar una solución
al problema planteado, es más que suficiente para que dicho usuario tenga
mis máximos respetos. Los usuarios que más o menos me conocen, así lo podrán
testimoniar.

El concepto que yo tengo sobre los grupos de noticias, es que aquí estamos
para intentar ayudarnos los unos a los otros, en la medida de las
posibilidades y conocimientos técnicos que poseamos cada uno de nosostros,
por lo que ante un problema que se presente, un usuario aporta una solución,
otro aporta la suya, y al final, cada uno es libre para quedarse con una o
con otra solución. A mí, personalmente, me ha sucedido bastantes veces, que
he propuesto una solución, y después ha llegado otro usuario y ha propuesto
una solución mejor, y no pasa nada, porque vuelvo a insistir que aquí
estamos porque nos gusta Visual Basic o porque nos va la "marcha". :-)

Y hablando de la solución que le has propuesto a Mauricio, simplemente es
otra solución más que podría serle útil a Mauricio hasta que encuente otra
solución más eficaz, porque realmente funciona, aunque a expensas de tener
que utilizar un control auxiliar para simular que se produzca el evento
«DoubleClick» del control TextBox. Yo, personalmente, no utilizaría tu
solución, porque como tu mismo has dicho «suena mal». Yo, buscaría la
solución en habilitar el control TextBox desde otro procedimiento, y cuando
se cumplan ciertos requisitos para que dicho control pueda estar de nuevo
habilitado. Pero en mi opinión personal, no tiene sentido alguno tener un
control deshabilitado, y que el propio usuario lo pueda habilitar haciendo
doble clic sobre el mismo. Si el control está deshabilitado, será por algún
motivo especial, por lo que se deberá de habilitar cuando haya desaparecido
los motivos por los cuales se encontraba deshabilitado.

En fin, espero que no te molestes por si alguien no comenta las soluciones
que propongas, porque lo bonito de todo esto, es que al menos te has
molestado en buscar una solución al problema planteado, y quizás te haya
ocupado un tiempo para intentar ayudar a una persona, tiempo que lo mismo
podrías haber ocupado en otras cuestiones personales. Eso es lo importante.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#10 Jesús Villalobos
14/01/2006 - 16:58 | Informe spam
Si el control es un TextBox no hace falta que lo deshabilites: ponle
BackColor=grisclaro, ForeColor=gris y ReadOnly =True y "parecerá"
deshabilitado, sin estarlo. La única diferencia es que el texto podrá
seleccionarse y copiarse, pero eso no es malo. No podrán pegar texto.
Entonces te responderá cómodamente al dobleclick.

Para CheckBoxes o RadioButtons el sistema es más sutil y es el siguiente:
coloca cada checkbox dentro de un panel sin borde ni texto. Puedes
deshabilitar el checkbox, pero no el panel. El Panel recibirá el Doble Click
y podrás cambiar el estado del Check. Algo parecido puedes hacer con los
Radios, pero han de estar todos en el mismo panel para que se sincronicen.
Este sistema también lo puedes utilizar para el Combo y la ListBox.

El único inconveniente que tiene este sistema es que tu form tendrá muchos
panels. Utiliza el sistema de panels sólo con los controles que no sean
TextBox para no saturar el formulario.


Jesús Villalobos
Responsable de desarrollo
Consultoría Certia


"Mauricio" escribió en el mensaje
news:
Saludos a todos

Necesito que me ayuden ya que me surgió un problema que no he podido
resolverlo..

1. Tengo un procedimiento en el cual mando a deshabilitar todos los
controles del formulario (enabled = false)

2. Presento datos en algunos controles, y necesito que al hacer doble
click
se habilite el control para poder modicar los datos.

3. El evento esta creado para cada control, pero en la ejecución al
momento
de hacer doble click no hace nada ya que el estado del control esta
inicialmente en enabled = false.

De antemano le gracias

Att. Mauricio
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida