Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Susoch en 15 Enero 2012, 18:22 pm



Título: Duda sobre seleccionar palabra por palabra en RichTextBox (vb.net)
Publicado por: Susoch en 15 Enero 2012, 18:22 pm
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!


Título: Re: Duda sobre seleccionar palabra por palabra en RichTextBox (vb.net)
Publicado por: alexjoffre en 16 Enero 2012, 20:59 pm
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


Título: Re: Duda sobre seleccionar palabra por palabra en RichTextBox (vb.net)
Publicado por: seba123neo en 17 Enero 2012, 03:39 am
Hola, aca tenes algo basico, hay que pulirlo un poco, pero la idea esta, terminalo vos.

Código
  1. Public Class Form1
  2.  
  3.    Dim startIndex As Integer = 0
  4.    Dim words As String()
  5.  
  6.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.        RichTextBox1.Text = "Autodefinida como un esfuerzo colaborativo por crear una enciclopedia gratis, libre y accesible por todos"
  8.        words = RichTextBox1.Text.Split(New Char() {" "c, "."c, ","c, vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
  9.    End Sub
  10.  
  11.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  12.  
  13.        Static i As Integer
  14.  
  15.        startIndex = RichTextBox1.Find(words(i), IIf(i = 0, 0, startIndex + 1), RichTextBox1.Text.Length, RichTextBoxFinds.WholeWord)
  16.  
  17.        If startIndex > -1 Then
  18.            RichTextBox1.Select(startIndex, words(i).Length)
  19.            RichTextBox1.SelectionColor = Color.White
  20.            RichTextBox1.SelectionBackColor = Color.Blue
  21.        End If
  22.  
  23.        i += 1
  24.    End Sub
  25. End Class

pone un boton y un richtextbox, al apretar el boton te va seleccionado las palabras.

saludos.



Título: Re: Duda sobre seleccionar palabra por palabra en RichTextBox (vb.net)
Publicado por: Susoch en 19 Enero 2012, 18:15 pm
Hola, aca tenes algo basico, hay que pulirlo un poco, pero la idea esta, terminalo vos.

Código
  1. Public Class Form1
  2.  
  3.    Dim startIndex As Integer = 0
  4.    Dim words As String()
  5.  
  6.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  7.        RichTextBox1.Text = "Autodefinida como un esfuerzo colaborativo por crear una enciclopedia gratis, libre y accesible por todos"
  8.        words = RichTextBox1.Text.Split(New Char() {" "c, "."c, ","c, vbCr, vbLf}, StringSplitOptions.RemoveEmptyEntries)
  9.    End Sub
  10.  
  11.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  12.  
  13.        Static i As Integer
  14.  
  15.        startIndex = RichTextBox1.Find(words(i), IIf(i = 0, 0, startIndex + 1), RichTextBox1.Text.Length, RichTextBoxFinds.WholeWord)
  16.  
  17.        If startIndex > -1 Then
  18.            RichTextBox1.Select(startIndex, words(i).Length)
  19.            RichTextBox1.SelectionColor = Color.White
  20.            RichTextBox1.SelectionBackColor = Color.Blue
  21.        End If
  22.  
  23.        i += 1
  24.    End Sub
  25. 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!