COMO SABER POSICAO DO CURSOR EM TEXTBOX

PROGRAMADORVB6 04/03/2012 15:47:32
#396411
Olá boa noite.
Estou com um problema em saber em que posição no texto se encontra o cursor dentro de uma TextBox.
Ou seja ; Tenho uma TextBox com o seguinte Texto : Me.TextBox1.text=[Ô]VbMania Auxilia-nos Bastante.[Ô] e gostaria de saber (se é possivel) encontrar a posição onde se encontra o cursor.
Já tentei com : Me.TextBox1.SelectionStart = Me.TextBox1.TextLength mas não dá para devolver onde está o cursor.
Alguém sabe como o posso fazer, ou já fez?
FROSTYNHO 04/03/2012 17:14:05
#396412
Resposta escolhida
Coloque um TIMER Verificando...

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = TextBox1.SelectionStart
Label2.Text = TextBox1.Text.Substring(TextBox1.SelectionStart, 1)
End Sub
PROGRAMADORVB6 04/03/2012 19:09:29
#396419
Olá Fernando.
O problema que me deparei foi ao tentar usar o comando:
Me.TextBox1.Text = StrConv(Me.TextBox1.Text, VbStrConv.ProperCase)
em uma caixa de texto, o cursor setava para o inicio do texto, daí precisar memorizar qual a última posição do cursor , para repôr a respectiva posição.
PROGRAMADORVB6 04/03/2012 19:26:53
#396420
Fiz assim :

Public Class Form1

Private Sub TextBox1_MouseClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
Dim Posicao As Long = TextBox1.SelectionStart
Label1.Text = Posicao
If TextBox1.SelectionStart < TextBox1.TextLength Then
Label2.Text = TextBox1.Text.Substring(TextBox1.SelectionStart, 1)
End If
Me.TextBox1.Text = StrConv(Me.TextBox1.Text, VbStrConv.ProperCase)
Me.TextBox1.SelectionStart = Posicao

End Sub



Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
Dim Posicao As Long = TextBox1.SelectionStart
Posicao = TextBox1.SelectionStart
Label1.Text = Posicao
If TextBox1.SelectionStart < TextBox1.TextLength Then
Label2.Text = TextBox1.Text.Substring(TextBox1.SelectionStart, 1)
End If
Me.TextBox1.Text = StrConv(Me.TextBox1.Text, VbStrConv.ProperCase)
Me.TextBox1.SelectionStart = Posicao
End Sub
End Class
Tópico encerrado , respostas não são mais permitidas