autoscroll para un texbox
Publicado por javi (13 intervenciones) el 17/06/2007 12:06:24
Hola,
Parte de mi proyecto fin de carrera es un chat y tengo el siguiente problema.
Escribo en un texbox, que es la entrada para el chat, y lo que se escribe en ese primero, al enviar se plasma en el segundo. Mi problema llega cuando el texto de la salida se va almacenando y supera el tamaño de la ventana, puesto que el scroll no va bajando automaticamente, sino que se queda fijo.
Yo lo que necesitaría es que el scroll se fuese moviendo automaticamente segun voy añadiendo lineas, pero no lo consigo.
He intentado dandole el foco, cambiendole propiedades y volviendoselas a restablecer, como por ejemplo el multiline, pero no hay forma, se queda fijo.
¿Alguien sabe como hacer que el scroll de un texbox multiline siga la ultima linea escrita?.
Este es el codigo que tengo ahora mismo si os sirve de ayuda:
Private Sub EnviarDatosChat()
Dim Conf As New Config
Dim Cadena As String
If TipoConex = ClienteServidor.Cliente Then
Me.WinSockCliente.EnviarDatos(1, Me.TBEntradaChat.Text.Length, Me.TBEntradaChat.Text)
End If
If TipoConex = ClienteServidor.Servidor Then
Me.WinSockServer.EnviarDatos(1, Me.TBEntradaChat.Text.Length, Me.TBEntradaChat.Text)
End If
Cadena = TBEntradaChat.Text
Cadena.Replace(vbCrLf, "")
Me.TBSalidaChat.Text = Me.TBSalidaChat.Text & "<" & Conf.NombreUsuario & "> : "
Me.TBSalidaChat.Text = Me.TBSalidaChat.Text & Cadena & vbCrLf
Me.TBSalidaChat.Focus()
Me.TBEntradaChat.Clear()
Me.TBEntradaChat.Focus()
End Sub
Muchas Gracias de antemano.
Un saludo.
Javi.
Parte de mi proyecto fin de carrera es un chat y tengo el siguiente problema.
Escribo en un texbox, que es la entrada para el chat, y lo que se escribe en ese primero, al enviar se plasma en el segundo. Mi problema llega cuando el texto de la salida se va almacenando y supera el tamaño de la ventana, puesto que el scroll no va bajando automaticamente, sino que se queda fijo.
Yo lo que necesitaría es que el scroll se fuese moviendo automaticamente segun voy añadiendo lineas, pero no lo consigo.
He intentado dandole el foco, cambiendole propiedades y volviendoselas a restablecer, como por ejemplo el multiline, pero no hay forma, se queda fijo.
¿Alguien sabe como hacer que el scroll de un texbox multiline siga la ultima linea escrita?.
Este es el codigo que tengo ahora mismo si os sirve de ayuda:
Private Sub EnviarDatosChat()
Dim Conf As New Config
Dim Cadena As String
If TipoConex = ClienteServidor.Cliente Then
Me.WinSockCliente.EnviarDatos(1, Me.TBEntradaChat.Text.Length, Me.TBEntradaChat.Text)
End If
If TipoConex = ClienteServidor.Servidor Then
Me.WinSockServer.EnviarDatos(1, Me.TBEntradaChat.Text.Length, Me.TBEntradaChat.Text)
End If
Cadena = TBEntradaChat.Text
Cadena.Replace(vbCrLf, "")
Me.TBSalidaChat.Text = Me.TBSalidaChat.Text & "<" & Conf.NombreUsuario & "> : "
Me.TBSalidaChat.Text = Me.TBSalidaChat.Text & Cadena & vbCrLf
Me.TBSalidaChat.Focus()
Me.TBEntradaChat.Clear()
Me.TBEntradaChat.Focus()
End Sub
Muchas Gracias de antemano.
Un saludo.
Javi.
Valora esta pregunta


0