Visual Basic - Editar textbox

Life is soft - evento anual de software empresarial
 
Vista:

Editar textbox

Publicado por ppg (42 intervenciones) el 07/10/2009 13:26:34
Tengo el siguiente problema.
En un formulario aparecen unos 50 textbox para introducir las notas de los alumnos.
Necesitaria no tener que ir pinchando uno a uno, sino que cuando uno coja el foco seleccione el contenido (cuando se pone de azul) y que al darle Intro pase al siguiente quedando la nota original o la nueva en caso de haber modificación.

Muy amables
Gracias
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:Editar textbox

Publicado por ppg (42 intervenciones) el 07/10/2009 13:54:54
Un poco mas abajo he leido algo muy parecido o igual a mi pregunta y he hecho lo siguiente.
Creo un nuevo módulo y he pegado este codigo

Public Nombre As String

Sub Revisa_Enter(formulario As Form)
If TypeOf Screen.ActiveControl Is TextBox Then ' Ver si el control Activo es un TextBox

' Sacar su numero de TabIndex
numero = Screen.ActiveControl.TabIndex


' Buscar el siguiente
For Each Control In formulario.Controls
If Control.TabIndex = numero + 1 Then
Control.SetFocus
Exit Sub
End If
Next

End If
End Sub

Aparece la variable Nombre y no se donde se va a utilizar

En el formulario llamado Meter_notas he seleccionado arriba a la izquierda Form y a la derecha el KeyPress y meto el siguiente código

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Revisa_Enter Meter_Notas ' aqui pon el nombre de tu form en lugar de form1
KeyAscii = 0
End If
End Sub

Algo hago mal porque ni se entera.. Pongo un break en el evento para ver que se dispara y ni caso.

Donde está el fallo

Ah, se me olvidaba dar las gracias
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:Editar textbox

Publicado por Adrian (35 intervenciones) el 07/10/2009 13:59:04
Es bastante largo de explicar pero tratare de simplificar:

En un módulo va la siguiente subrutina:

Sub SeleccionaTexto(CajaTexto As TextBox)
CajaTexto.SelStart = 0
CajaTexto.SelLength = Len(CajaTexto)
End Sub

En el GotFocus de cada caja de texto se convoca a ésta subrutina:
Ej.

Private Sub Text1_GotFocus()
SeleccionaTexto Text1
End Sub

En lugar de pasar con enter se pasa con TAB
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:Editar textbox

Publicado por ppg (42 intervenciones) el 07/10/2009 14:10:11
Me pierdo..

Quieres decir que tengo que pastear lo que has escrito para que me funcione??
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:Editar textbox

Publicado por juan carlos (518 intervenciones) el 08/10/2009 02:08:35
Hola ppg
has esto amigo te recomiendo copiar el text1(que quede asi (text1(0),text1(1) ...etc... hasta los que necesites

en el evento keypress escribe esto
===================================
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case Index
Case 0
If KeyAscii = 13 Then Text1(1).SetFocus
Case 1
If KeyAscii = 13 Then Text1(2).SetFocus
y asi sucesivamente
End Select
End Sub
===================================
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