Tema destacado: Nueva página de elhacker.net en Google+ 
Autor
|
Tema: Duda sobre seleccionar palabra por palabra en RichTextBox (vb.net) (Leído 545 veces)
|
Susoch
Desconectado
Mensajes: 2
|
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!
|
|
|
|
|
En línea
|
|
|
|
alexjoffre
Desconectado
Mensajes: 12
|
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
|
|
|
|
|
En línea
|
|
|
|
|
seba123neo
|
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.
|
|
|
|
|
En línea
|
Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo. Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
|
|
|
Susoch
Desconectado
Mensajes: 2
|
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!
|
|
|
|
|
En línea
|
|
|
|
|
|