none
Ajuda com RichtextBox RRS feed

  • Pergunta

  • Bem gente, estou com um grande problema em relação a uma richtextBox.

    Bem, vamos supor que a palavra "teste" esteja de vermelho na rich, que pintei dessa maneira:

    editor.SelectionColor = Color.Red;

    Bem, e eu gostaria de fazer, que ao clicar em um botão substituisse o "teste" vermelho por <vermelho>teste</vermelho>, alguém poderia me ajudar em relação a isso? E outra coisa, é possível fazer o mesmo com imagens na rich?

    Obrigado desde já,
    abraços.


    • Editado Niunzin quarta-feira, 5 de setembro de 2012 21:33
    quarta-feira, 5 de setembro de 2012 21:27

Respostas

  • Veja se ajuda:

     char[] separadores = { ' ',',','.','\r','\t','\n' };
                foreach (var item in rich.Text.Split(separadores))
                {
                    if (item.Trim().Length > 0)
                    {
                        rich.Select(rich.Text.IndexOf(item), item.Length);
                        Color cor = rich.SelectionColor;
                        if (cor != Color.Black)
                        {
                            rich.SelectedText = "[color=" + cor.Name + "]" + rich.SelectedText + "[/color]";
                        }
                    }
                }
    • Marcado como Resposta Niunzin domingo, 16 de setembro de 2012 16:11
    sexta-feira, 14 de setembro de 2012 04:38

Todas as Respostas

  • Altere a propriedade SelectedText,para : "<vermelho>" + SelectedText + "</vermelho".

    Não entendi sua segunda pergunta.

    quinta-feira, 6 de setembro de 2012 02:13
  • Bem, na richtextBox eu tenho uma palavra em colorida, vamos supor que a palavra seja "fórum" e que ela está em vermelho. Eu gostaria que ao clicar em um botão, essa palavra em vermelho "fórum" virasse "<vermelho>fórum</vermelho>".
    domingo, 9 de setembro de 2012 20:25
  • Só tem uma palavra? Quer fazer isso com cada palavra vermelha,por exemplo? Só existirá essa regra?
    domingo, 9 de setembro de 2012 23:11
  • Vamos supor assim, tenho 1 button e uma richtextBox.

    Agora eu escrevo na minha richtextBox:
    "Eu gosto de laranja"

    Em seguida, eu seleciono o GOSTO, e clico no botão que faz o seguinte:

    rich.SelectionColor = Color.Red;

    Ai o "gosto" apenas fica em vermelho, ai eu gostaria que ao clicar em um outro botão, substituísse o "gosto" em vermelho por "[color=red]gosto[/color]".

    Acho que agora ficou claro, muito obrigado por estarem me ajudando.

    Abraços,
    Niunzin,

    terça-feira, 11 de setembro de 2012 15:17
  • Ah,ficou muito mais claro.Um exemplo para qualquer cor do namespace System.Drawing.Color:

    Color cor = rich.SelectionColor;
     if (cor != Color.Black)
     {
          rich.SelectedText = "[color=" + cor.Name + "]" + rich.SelectedText + "[/color]";
     }
    

    Quanto à segunda pergunta,não entendi,como "fazer o mesmo com imagens"?

    terça-feira, 11 de setembro de 2012 19:20
  • Ignore o de imagens...

    Mas tipo, teria como fazer isso sem selecionar o texto na textBox? Tipo, eu seleciono e deixo vermelho, mais depois eu sem selecionar clico no botão ai substituir tudo que for vermelho por [color=red]. Não sei se o código que você postou faz isso, mas pelo que vi não faz :s

    Obrigado pela ajuda, votado como útil (:

    quinta-feira, 13 de setembro de 2012 15:20
  • Isso pode ser lento,mas logo faço um exemplo.
    quinta-feira, 13 de setembro de 2012 21:42
  • Isso pode ser lento,mas logo faço um exemplo.

    Estou realmente grato, obrigado.

    Abraços.

    quinta-feira, 13 de setembro de 2012 23:11
  • Veja se ajuda:

     char[] separadores = { ' ',',','.','\r','\t','\n' };
                foreach (var item in rich.Text.Split(separadores))
                {
                    if (item.Trim().Length > 0)
                    {
                        rich.Select(rich.Text.IndexOf(item), item.Length);
                        Color cor = rich.SelectionColor;
                        if (cor != Color.Black)
                        {
                            rich.SelectedText = "[color=" + cor.Name + "]" + rich.SelectedText + "[/color]";
                        }
                    }
                }
    • Marcado como Resposta Niunzin domingo, 16 de setembro de 2012 16:11
    sexta-feira, 14 de setembro de 2012 04:38