GotFocus

Primero que nada muchas gracias por tomarte el tiempo para contestar mi pregunta anterior, ahora espero que me puedas ayudar con esto del gotfucus, lo que pasa es que tengo varias cajas de texto programadas para que al presionar enter cambie el foco a la siguiente y a cada una a partir de la segunda le puse el evento gotfocus, en el cual, si la caja anterior esta vacía, regreso el foco a ésta, solamente lo hago así, sin importarme si se brinco desde la primera hasta la última haciendo click con el ratón en lugar de presionar enter pero eso lo veré después, ahora mi problema es que en VB si funciona, si todas están en blanco pongo el foco en cualquiera y me la regresa una más atrás por que me dice que la anterior esta vacía, pero cuando hago el .exe si hay más de 1 caja en blanco antes me marca error y se cierra el programa, si sólo me voy brincando de 1 en 1 si funciona, el problema es cuando me brinco por ej. De la 1 a la 3 ó cualquiera después de ésta.
Bueno espero que me hayas entendido y que me puedas ayudar, me extendí mucho por que quería darme a entender.

1 Respuesta

Respuesta
1
Todo depende del nombre del control y si tienes un arreglo de controles de los indices del mismo, sugiero que valides esto, ya que en el momento de ejecución es cuando llega a perderse el número relacionado de acuerdo a tu programación.
Hola, disculpa pero no entendí muy bien que es lo que tengo que hacer, mira te explico exactamente que es lo que tengo a ver si me puedes ayudar, tengo un frame, todo lo que voy a poner entre () esta dentro del frame y lo voy a poner en el orden que lo tengo (2 cajas de texto, un frame con un arreglo de 2 optionbutton y luego otras 2 cajas de texto.
Después otro frame en el que tengo (2 cajas, 2 combos y otra caja).
Y en otro frame (2 cajas, 1 frame con otro arreglo de 2 option,otras 2 cajas y por último otro frame con un arreglo de 8 options)
Bueno espero que me puedas ayudar.
Gracias por tu tiempo.
No sería mejor que pegues el segmento de código para revisarlo y ver por donde puede estar el problema.
Bueno aquí te pongo el código de un botón y de una caja de texto, todos son casi iguales:
Private Sub CMDACEPTAR_GotFocus()
If (Option1(0).Value = False) And (Option1(1).Value = False) And (Option1(2).Value = False) And (Option1(3).Value = False) And (Option1(4).Value = False) And (Option1(5).Value = False) And (Option1(6).Value = False) And (Option1(7).Value = False) Then
MsgBox "Elige el tipo de Programa", vbExclamation, "AVISO"
End If
End Sub
Private Sub comper_GotFocus()
If (txtcontrol.Text = "") Then
txtcontrol.SetFocus
MsgBox "Escribe el número de control", vbExclamation, "AVISO"
End If
End Sub
Creo que el problema es este:
La segunda rutina ya la tienes ajustada. La primera es la que no entiendo que es lo que quieres hacer, se ve que validas pero nada más.
Private Sub CMDACEPTAR_GotFocus()
If (Option1(0).Value = False) And (Option1(1).Value = False) And (Option1(2).Value = False) And (Option1(3).Value = False) And (Option1(4).Value = False) And (Option1(5).Value = False) And (Option1(6).Value = False) And (Option1(7).Value = False) Then
MsgBox "Elige el tipo de Programa", vbExclamation, "AVISO"
End If
End Sub
Private Sub comper_GotFocus()
If (txtcontrol.Text = "") Then
MsgBox "Escribe el número de control", vbExclamation, "AVISO"
txtcontrol.SetFocus
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas