Hola buenas.
Realizo este post porque tengo una duda que no consigo resolver por eso escribo este post para ver si vosotros podriais ayudarme:
Mi duda va sobre vb.net
Lo que quisiera saber es como podria ir seleccionando palabra por palabra dandole a un boton o con un timer, es decir, que se seleccione una palabra, y que luego se seleccione la siguiente.
Espero que puedan ayudarme, gracias y un saludo!
Podrias hacer un metodo que leyera el contenido y fuera comprobando caracter por caracter. cuando llegue a un espacio, que seleccione el intervalo entre la primera letra y el caracter anterior al espacio. y asi sucesivamente
Variables que necesitara.
Dim inicio As Integer
Dim dim fin As Integer
y recorres la cadena con un FOR y seleccionas el texto con SelectionStart y SelectionLength
Espero te sirva de algo. Saludos
Hola, aca tenes algo basico, hay que pulirlo un poco, pero la idea esta, terminalo vos.
Public Class Form1
Dim startIndex As Integer = 0
Dim words As String()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RichTextBox1.Text = "Autodefinida como un esfuerzo colaborativo por crear una enciclopedia gratis, libre y accesible por todos"
words = RichTextBox1.Text.Split(New Char() {" "c, "."c, ","c, vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Static i As Integer
startIndex = RichTextBox1.Find(words(i), IIf(i = 0, 0, startIndex + 1), RichTextBox1.Text.Length, RichTextBoxFinds.WholeWord)
If startIndex > -1 Then
RichTextBox1.Select(startIndex, words(i).Length)
RichTextBox1.SelectionColor = Color.White
RichTextBox1.SelectionBackColor = Color.Blue
End If
i += 1
End Sub
End Class
pone un boton y un richtextbox, al apretar el boton te va seleccionado las palabras.
saludos.
Cita de: seba123neo en 17 Enero 2012, 03:39 AM
Hola, aca tenes algo basico, hay que pulirlo un poco, pero la idea esta, terminalo vos.
Public Class Form1
Dim startIndex As Integer = 0
Dim words As String()
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RichTextBox1.Text = "Autodefinida como un esfuerzo colaborativo por crear una enciclopedia gratis, libre y accesible por todos"
words = RichTextBox1.Text.Split(New Char() {" "c, "."c, ","c, vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Static i As Integer
startIndex = RichTextBox1.Find(words(i), IIf(i = 0, 0, startIndex + 1), RichTextBox1.Text.Length, RichTextBoxFinds.WholeWord)
If startIndex > -1 Then
RichTextBox1.Select(startIndex, words(i).Length)
RichTextBox1.SelectionColor = Color.White
RichTextBox1.SelectionBackColor = Color.Blue
End If
i += 1
End Sub
End Class
pone un boton y un richtextbox, al apretar el boton te va seleccionado las palabras.
saludos.
Me has servido de mucho, muchas gracias tio!
Pero esque se me va seleccionando todo poco a poco, y lo que necesito es que se seleccione la siguiente solo, palabra a palabra, no todas, espero que entiendas mi cuestión.
Gracias, un saludo!