elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 08:35  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderador: [D4N93R])
| | | |-+  Richtextbox en C# y VB.NET
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Richtextbox en C# y VB.NET  (Leído 4,776 veces)
jgzunigah

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Richtextbox en C# y VB.NET
« en: 24 Febrero 2010, 05:29 »

Hola resulta que tengo que hacer un efecto que se seleccione una palabra y le cambie de color, utilice la propiedad find y selectColor pero sitengo varias palabras que quiero cambiar como "Create " solo me cambia la primera y las demas no.

les agradeceria me ayudaran ya que no se como hacer, le pego una copia del codigo para que vean si es un error mio u otra cosa. A por cierto esta en VB.NET

gracias de antemano

 Private Sub analisisLexicoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles analisisLexicoToolStripMenuItem.Click
        'realiza la busqueda de las palabras y les cambia de color segun su categoria
        Dim Lineas() As String 'Almacena el valor de la linea de texto
        Dim Vec_PalabrasEvaluar() As String 'Almacena palabra por palabra por medio de la funcion split

        Lineas = rtbTexto.Lines


        For a As Integer = 0 To UBound(Lineas)
            Vec_PalabrasEvaluar = Split(Lineas(a), " ")
            For b As Integer = 0 To straux.Count - 1
                For c As Integer = 0 To UBound(Vec_PalabrasEvaluar)
                    If Vec_PalabrasEvaluar(c) = straux(b) Then
                        'MessageBox.Show(Vec_PalabrasEvaluar(c), "si", MessageBoxButtons.OK)
                        CambiaColor(straux(b))
                    End If
                Next
            Next
        Next



    End Sub

  Public Sub CambiaColor(ByVal vec As String)
        Dim wordToFind As String = vec

        If rtbTexto.TextLength > 0 Then
            'rtbTexto.Find(wordToFind, rtbTexto.SelectionStart, rtbTexto.SelectionLength, RichTextBoxFinds.WholeWord Or RichTextBoxFinds.MatchCase)
            'se hace el cambio de color
            Dim indexToText As Integer = rtbTexto.Find(wordToFind, RichTextBoxFinds.MatchCase Or RichTextBoxFinds.WholeWord)

            rtbTexto.Select(indexToText, wordToFind.Length)
            rtbTexto.SelectionColor = Color.Blue
        End If
    End Sub


En línea
Shell Root


Desconectado Desconectado

Mensajes: 2.456


Alex Jurado


Ver Perfil WWW
Re: Richtextbox en C# y VB.NET
« Respuesta #1 en: 24 Febrero 2010, 06:13 »

Código
Option Explicit On
Option Strict On
 
Imports System.Text.RegularExpressions
 
Public Class Form1
 
   Private Sub Buscar_Coincidencia( _
       ByVal pattern As String, _
       ByVal RichTextBox As RichTextBox, _
       ByVal cColor As Color, _
       ByVal BackColor As Color)
 
 
       Dim Resultados As MatchCollection
       Dim Palabra As Match
 
       Try
           ' PAsar el pattern e indicar que ignore las mayúsculas y minúsculas al mosmento de buscar
           Dim obj_Expresion As New Regex(pattern.ToString, RegexOptions.IgnoreCase)
 
           ' Ejecutar el método Matches para buscar la cadena en el texto del control
           ' y retornar un MatchCollection con los resultados
           Resultados = obj_Expresion.Matches(RichTextBox.Text)
 
           ' quitar el coloreado anterior
           With RichTextBox
               .SelectAll()
               .SelectionColor = Color.Black
           End With
 
           ' Si se encontraron coincidencias recorre las colección  
           For Each Palabra In Resultados
               With RichTextBox
                   .SelectionStart = Palabra.Index ' comienzo de la selección
                   .SelectionLength = Palabra.Length ' longitud de la cadena a seleccionar
                   .SelectionColor = cColor ' color de la selección
                   .SelectionBackColor = BackColor
                   Debug.Print(Palabra.Value)
               End With
           Next Palabra
 
       Catch ex As Exception
           MsgBox(ex.Message.ToString)
       End Try
 
   End Sub
 
   Private Sub Button1_Click( _
       ByVal sender As System.Object, _
       ByVal e As System.EventArgs) Handles Button1.Click
       ' pasar el pattern, el Richtext, y los colores para el resalte
       Buscar_Coincidencia(TextBox1.Text, RichTextBox1, Color.Blue, Color.Yellow)
 
   End Sub
End Class
Fuente: :http://www.recursosvisualbasic.com.ar/htm/vb-net/9-richtextobx-highlight-color-en-vb-net.htm


En línea

---
raul338


Desconectado Desconectado

Mensajes: 2.371


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Richtextbox en C# y VB.NET
« Respuesta #2 en: 24 Febrero 2010, 13:30 »

Wow.... hace tiempo hubo un tema asi en el que participamos muchos :P y en ese momento nunca se me hubieran ocurrido usar expresiones regulares ;-) en cuanto a lo demas, es parecido al que hicimos :xD

El tema esta aca Ayuda con colores Richtextbox

Espero que te sirva
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta escribir en Richtextbox
Programación Visual Basic
Cromatico 2 1,452 Último mensaje 15 Diciembre 2010, 05:51
por Cromatico
Texto Rebordeado RichTextbox?
Programación Visual Basic
DarkMatrix 2 945 Último mensaje 21 Diciembre 2010, 17:36
por 79137913
problema con richtextbox
.NET
CH4ØZ 12 1,646 Último mensaje 1 Febrero 2011, 22:02
por CH4ØZ
comparar 2 RichTextBox
Programación Visual Basic
CAR3S? 2 1,057 Último mensaje 17 Marzo 2011, 19:00
por CAR3S?
Duda sobre RichTextBox
.NET
CH4ØZ 2 367 Último mensaje 30 Octubre 2011, 04:07
por CH4ØZ
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines