none
oculta palabras en un richtextbox RRS feed

  • Pregunta

  • saludos a todos necesito su ayuda soy nuevo en esto de la programación, estoy una aplicación que oculte palabras escritas o pegadas en un richtextbox cuando se le de clic a una palabras cualquiera, pero no se si esto se puede hacer si alguien me ayuda se los agradeceré mucho gracias por su atención.
    martes, 16 de agosto de 2016 1:56

Respuestas

  • Hola Dalwin Cuello Bueno,

    Puedes ocultar palabras usando código RTF, aquí hilos relacionados :

    hidden text in richtextbox

    Hide some part of text in the Richtextbox in vb.net

    [-] ... cuando se le de clic a una palabras cualquiera, pero no se si esto se puede hacer ...

    Ahí si está difícil, lo que puedes hacer es ocultar palabras que están seleccionadas al darle click.

    Podrías usar el evento MouseDown de tu RTB y mediante el método GetCharFromPosition validar si hizo click sobre un campo vacío o una letra.

    Algo así :

      Private Sub RichTextBox1_MouseDown(sender As Object, e As MouseEventArgs) ....
            Dim rtb = CType(sender, RichTextBox)
            'Si hay texto seleccionado
            If rtb.SelectedText.Length > 0 Then
                'Si no clickeo en un espacio
                If Not Char.IsWhiteSpace(rtb.GetCharFromPosition(e.Location)) Then
                    rtb.SelectedRtf = String.Concat("{\rtf1\ansi\v {0}\v0}", rtb.SelectedText)
                End If
            End If
        End Sub

    Cuando hagas click en un texto seleccionado, este quedará oculto, ya que le aplicas el código RTF antes mencionado.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 16 de agosto de 2016 3:12
  • Deleted
    martes, 16 de agosto de 2016 3:19

Todas las respuestas

  • Dalwin Cuello Bueno,

    Si es sólo ocultar palabras deberías tener un marcador que determine la posición de una palabra o una copia del valor de la propiedad Text para comparar valores en cualquier circunstancia o recuperar la palabra removida. Para el ejemplo, puedes aprovechar el evento MouseDobleClick para seleccionar una palabra y retirarla del texto:

    Private Sub richTextBox1_MouseDoubleClick(sender As Object, e As MouseEventArgs)
    	Dim posicion As Integer = richTextBox1.SelectionStart
    
    	richTextBox1.Text = richTextBox1.Text.Remove(richTextBox1.SelectionStart, _
                                                         richTextBox1.SelectionLength)
    
    	richTextBox1.SelectionStart = posicion
    
    End Sub




    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.

    martes, 16 de agosto de 2016 2:57
  • Hola Dalwin Cuello Bueno,

    Puedes ocultar palabras usando código RTF, aquí hilos relacionados :

    hidden text in richtextbox

    Hide some part of text in the Richtextbox in vb.net

    [-] ... cuando se le de clic a una palabras cualquiera, pero no se si esto se puede hacer ...

    Ahí si está difícil, lo que puedes hacer es ocultar palabras que están seleccionadas al darle click.

    Podrías usar el evento MouseDown de tu RTB y mediante el método GetCharFromPosition validar si hizo click sobre un campo vacío o una letra.

    Algo así :

      Private Sub RichTextBox1_MouseDown(sender As Object, e As MouseEventArgs) ....
            Dim rtb = CType(sender, RichTextBox)
            'Si hay texto seleccionado
            If rtb.SelectedText.Length > 0 Then
                'Si no clickeo en un espacio
                If Not Char.IsWhiteSpace(rtb.GetCharFromPosition(e.Location)) Then
                    rtb.SelectedRtf = String.Concat("{\rtf1\ansi\v {0}\v0}", rtb.SelectedText)
                End If
            End If
        End Sub

    Cuando hagas click en un texto seleccionado, este quedará oculto, ya que le aplicas el código RTF antes mencionado.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    martes, 16 de agosto de 2016 3:12
  • Deleted
    martes, 16 de agosto de 2016 3:19