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

#1 SoftJaén
13/01/2006 - 16:48 | Informe spam
"Mauricio" escribió:

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.




Hola, Mauricio:

Si el control está deshabilitado (Enabled = False), por mucho código que
tengas escrito en el evento «DoubleClick», éste nunca se ejecutará porque el
control no puede responder a una interacción del usuario; está deshabilitado
para todo. Tendrás que habilitar el control (Enabled = True) en otro
procedimiento cualquiera, para que el usuario pueda interactuar con el
control.

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
#2 Mauricio
13/01/2006 - 18:25 | Informe spam
Gracias por tu comentario Enrrique

Pero yo he visto aplicaciones que puedes dar coordenadas y ubicas el control
respectivo y si das doble click se activa el control, tengo la idea que eso
talvez se pueda manejar a traves de un timer o algo asi..

En visual c++ puedes hacer este tipo de procedimientos..

Espero que me puedan ayudar ya no he puedo solucionar este problema

de todas maneras gracias Enrrique.
Respuesta Responder a este mensaje
#3 Robernet
13/01/2006 - 19:29 | Informe spam
Mauricio

creo que por ahora podrias manejar un label y textbox, esto suena mal
pero funciona, en donde el label simule ser un textbox y este por encima del
textbox.

te pasteo un codigo hecho en VB.NET

Public Class Form1
Private Sub Label1_DoubleClick(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Label1.DoubleClick
TextBox1.Text = Label1.Text
Label1.Visible = False
TextBox1.Visible = True
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Return Then
Label1.Text = TextBox1.Text
Label1.Visible = True
TextBox1.Visible = False
End If
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
Label1.Visible = True
TextBox1.Visible = False
End Sub
End Class

sin mas por ahora y atento a tus comentarios
Robernet

"Mauricio" wrote in message
news:
Gracias por tu comentario Enrrique

Pero yo he visto aplicaciones que puedes dar coordenadas y ubicas el


control
respectivo y si das doble click se activa el control, tengo la idea que


eso
talvez se pueda manejar a traves de un timer o algo asi..

En visual c++ puedes hacer este tipo de procedimientos..

Espero que me puedan ayudar ya no he puedo solucionar este problema

de todas maneras gracias Enrrique.
Respuesta Responder a este mensaje
#4 SoftJaén
13/01/2006 - 19:39 | Informe spam
"Mauricio" escribió:

Pero yo he visto aplicaciones que puedes dar coordenadas y ubicas el
control respectivo y si das doble click se activa el control, tengo
la idea que eso tal vez se pueda manejar a traves de un timer
o algo asi..

En visual c++ puedes hacer este tipo de procedimientos..




Ubicar un control en el formulario mediante coordenadas, se puede hacer.
Pero que yo sepa, desde Visual Basic clásico hasta Visual Basic 2005, si un
control está deshabilitado está deshabilitado para todo, y no responde a
ningún evento propio, porque la misma característica de la propiedad del
control lo dice: está deshabilitado. Que se pueda hacer con Visual C++, lo
ignoro, pero desde luego, con Visual Basic no se puede hacer, salvo que
alguien me demuestre lo contrario.

Por supuesto que si utilizas un control Timer, desde el evento «Tick» de
dicho control puedes habilitar el control, pero es lo mismo que te he dicho
anteriormente: que debes de utilizar otro procedimiento distinto para
habilitar los controles que estimes oportuno.

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
#5 SoftJaén
13/01/2006 - 19:55 | Informe spam
Ahora que he caído, lo único que te puede salvar para habilitar los
controles al hacer doble clic sobre alguno de ellos, es el método protegido
«OnDoubleClick». Inserta en el formulario lo siguiente:

Protected Overrides Sub OnDoubleClick(ByVal e As System.EventArgs)

' Habilitamos los controles
TextBox1.Enabled = True
Button1.Enabled = True

End Sub


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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida