Visual Basic.NET - Problema facil con TabControl

   
Vista:

Problema facil con TabControl

Publicado por Guillermo III (73 intervenciones) el 06/02/2009 17:51:42
Hola:

Creo una aplicación nueva. Al form1 le agrego un tabcontrol, y en el tabpage1 le agrego un textbox.
Le doy lo corro y el textbox no recibe el foco.

Que tengo que hacer para que suceda lo deseado? Es un experimento facil...

Muchas gracias al que pueda ayudarme.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema facil con TabControl

Publicado por Damian (824 intervenciones) el 06/02/2009 22:33:34
Bueno debes preguntar por el tab que este seleccionado, por ejemplo asi:

If TabControl1.SelectedTabIndex = 0 Then 'Tu primer tabpage
textbox1.focus()
elseIf TabControl1.SelectedTabIndex = 1 Then ''El segundo tabpage
textbox2.focus()
end if

Espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema facil con TabControl

Publicado por Guillermo III (73 intervenciones) el 06/02/2009 22:57:31
Muchas gracias Damian por tu aporte.

Hice lo que propones y me quedó así:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If TabControl1.SelectedIndex = 0 Then 'Tu primer tabpage
MsgBox("1")
TextBox1.Focus()
ElseIf TabControl1.SelectedIndex = 1 Then ''El segundo tabpage
MsgBox("2")
TextBox2.Focus()
End If
End Sub

Pero el foco no va al txt1. Pero se muestra con el msgox el mje 1.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

A punto de rendirme...

Publicado por Guillermo III (73 intervenciones) el 09/02/2009 16:15:39
incluso probé esto que encontré en un foro y nada...

Dim tp As TabPage = Nothing

tp = TabPage.GetTabPageOfComponent(Me.TextBox1)
Me.TabControl1.SelectedTab = tp
Me.TextBox1.Focus()

El código se ejecuta pero no aparece el cursos titilando en el textbox1.

La verdad no se que pasa, si alguien puede ayudarme le agradecería mucho. O si pueden probar el código en su pc, es bastante rápido de hacer.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

más datos

Publicado por Guillermo III (73 intervenciones) el 09/02/2009 16:23:47
Atención al código igual al anterior excepto que se captura el boolean del método "focus":

tp = TabPage.GetTabPageOfComponent(Me.txtBanco)
Me.TabControl1.SelectedTab = tp
If Me.txtBanco.Focus() Then
MsgBox("ok")
Else
MsgBox("mal")
End If

Porque se muestra "mal".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda por favor :) - Tengo el framework 2.0

Publicado por Guillermo III (73 intervenciones) el 09/02/2009 20:33:07
Hola, quiero agregar que estoy trabajando con el framework 2.0. Realmente no encuentro la solución a mi problema. Busqué en internet pero no me quedó claro si se trata de un bug o que.

Estaría muy agradecido si alguien por favor puede orientarme con esto.

Estará mal instalado el framework?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda por favor :) - Tengo el framework 2.0

Publicado por Damian (824 intervenciones) el 09/02/2009 22:41:35
Estuve probando con los controles que usas el TabControl con la version 2.0 y es verdad no anda, yo el ejemplo que te di es de los TabControl que son mas nuevo y me los baje, pero pense que funcionaban igual y parece que no, asi que te aconsejo que bajas estos controles mas nuevitos que se llaman DevComponents.DotNetBar(DotNetBar) y vienen muchos controles nuevos. Espero te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda por favor :) - Tengo el framework 2.0

Publicado por Guillermo III (73 intervenciones) el 10/02/2009 15:38:55
Gracias!

Cuanto antes pueda lo pruebo.

Esto que sucedió me suena a bug en el framework. Sabes tu o alguien porque no lo corrigió MS, liberando un parche o algo?

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solución parcial.

Publicado por Guillermo III (73 intervenciones) el 10/02/2009 18:36:30
En vez de setear el foco en el load del form, lo hago en el activated.

Me falta resolver como setear el foco al cambiar de tab. He intentado con selected del tabcontrol pero no surte efecto.

Debiera capturar el algún evento que ocurra al terminar de mostrarse el tab...

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Solución lista no ortodoxa...

Publicado por Guillermo III (73 intervenciones) el 10/02/2009 19:02:21
Bueno, para terminar con esto que me estuvo molestando agrego que:

Manejo el evento paint de los tabPages, para setear el foco en el control deseado cuando se selecciona alguno.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Solución lista no ortodoxa...

Publicado por Chorch (3 intervenciones) el 11/03/2009 20:48:17
Yo lo solucioné en otros eventos porque no me respondía bien en el Paint.
Utilicé el evento Activated del form ya que cuando se activa el mismo debe posicionarse en algún lado, en el GotFocus del TabControl y en el Click del TabControl.
Me está andando muy bien.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar