que textbox tiene el foco?

20/10/2004 - 12:29 por vicvallo | Informe spam
Hola amigos!
Tengo el siguiente problema. Tengo unos cuantos textbox y un trackbar.
Dependiendo del textbox que tenga el foco, el trackbar debe modificar el
textbox.text del textbox que tenga el foco, es decir, si tiene el foco el
textbox1 el trackbar modificara el valor del 1, si luego paso al 2 el
trackbar modificara el valor del 2.
Como puedo hacer esto? alguien me puede ayudar?

Saludos

Preguntas similare

Leer las respuestas

#1 Cesarion
20/10/2004 - 15:37 | Informe spam
Saludos, viejo te cuento que cuando tu te posicioneas sobre el trackbar el
texto que este seleccionado pierde el foco, entonces ya no puedes usarlo de
esa manera. lo que a mi se me ocurre es que almacenes cual es el último
texto que tuvo el foco, de esta manera cuando pases del texto al trackbar
sabras en cual estaba y podrás cambiarlo. el siguiente código trabaja de esa
manera.

Private texto As TextBox
Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles TrackBar1.Scroll
If Not (texto Is Nothing) Then
texto.Text = TrackBar1.Value.ToString()
End If
End Sub

Private Sub TextBox1_Leave(ByVal sender As Object, ByVal e As
System.EventArgs) Handles TextBox1.Leave
texto = CType(sender, TextBox)
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
AddHandler TextBox1.Leave, AddressOf Me.TextBox1_Leave
AddHandler TextBox2.Leave, AddressOf Me.TextBox1_Leave
End Sub

espero que te sirva

Saludos from Colombia

"vicvallo" escribió:

Hola amigos!
Tengo el siguiente problema. Tengo unos cuantos textbox y un trackbar.
Dependiendo del textbox que tenga el foco, el trackbar debe modificar el
textbox.text del textbox que tenga el foco, es decir, si tiene el foco el
textbox1 el trackbar modificara el valor del 1, si luego paso al 2 el
trackbar modificara el valor del 2.
Como puedo hacer esto? alguien me puede ayudar?

Saludos
Respuesta Responder a este mensaje
#2 vicvallo
20/10/2004 - 18:03 | Informe spam
Hola, hasta aquí lo tengo claro. Supongo que el código del load del form1 que
has puesto es para crear el evento Leave de los textbox no?

Ahora el problema que tengo es que yo los textbox los creo dinámicamente en
el load del formulario y no sé cómo añadir el evento Leave a cada uno de
ellos, ya que no se crean hasta que nose carga el formulario.

¿Cómo puedo conseguir esto?

Muchas gracias
Respuesta Responder a este mensaje
#3 Anonimo
21/10/2004 - 00:08 | Informe spam
Usa el metodo Focused()

If textbox1.Focused() then
'tiene el foco
Else
' No tiene el foco
End if
Respuesta Responder a este mensaje
#4 Cesarion
21/10/2004 - 16:59 | Informe spam
Bueno viejo cuando crees cada uno de los controles (TextBox's) utiliza el
método AddHandler para difinirle el procedimiento que debes llamar cuando
ocurra el evento leave:

Dim TextBox3 as new TextBox
'Aca defines todos los parametros y lo agregas a la colección de controles
del formulario.

...

'Despues lo que haces es utilizar el AddHandler para
'el control que acabas de crear.


AddHandler TextBox3.Leave, AddressOf Me.TextBox1_Leave

y listo funciona para todos tus textos. suerte

Saludos Cesarion from Colombia

"vicvallo" wrote:

Hola, hasta aquí lo tengo claro. Supongo que el código del load del form1 que
has puesto es para crear el evento Leave de los textbox no?

Ahora el problema que tengo es que yo los textbox los creo dinámicamente en
el load del formulario y no sé cómo añadir el evento Leave a cada uno de
ellos, ya que no se crean hasta que nose carga el formulario.

¿Cómo puedo conseguir esto?

Muchas gracias
Respuesta Responder a este mensaje
#5 vicvallo
21/10/2004 - 18:23 | Informe spam
Ufff que lio. Vamos a ver, escribo el codigo porque tengo muchos errores, y
ahora mismo estoy echo un lio.


Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As
System.EventArgs, ByVal i As Integer) Handles TrackBar1.Scroll(aqui marca
error)
If Not (txt_camara(i).Text Is Nothing) Then
txt_camara(i).Text = TrackBar1.Value.ToString()
End If
End Sub


Private Sub Text_Leave(ByVal sender As Object, ByVal e As
System.EventArgs, byval i as Integer) Handles txt_camara(i).Leave(aqui marca
error)
txt_camara(i).Text = CType(sender, TextBox)
End Sub

Private Sub Form_Temperatura_Camaras_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load


For i As Integer = 0 To Rs_Camara.Count - 1

txt_camara(i) = New TextBox
txt_camara(i).Location = New System.Drawing.Point(88, 56 + (i * 25))
txt_camara(i).Size = New System.Drawing.Size(64, 20)
Me.Controls.Add(txt_camara(i))
AddHandler txt_camara(i).Leave, AddressOf Me.txt_camara_Leave(aqui
marca error)

rs_camara.movenext

next

ALGUIEN ME PUEDE AYUDAR!!! ESTOY MUY PERDIDO

GRACIAS
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida