1

vb.net の richtextbox のテキストの一部を非表示にしたいと考えています。すなわち

Richtextbox1.text ="Test1 test2 test3"

ここで、リッチテキスト ボックスのテキストから「test2」を非表示にし、リッチテキスト ボックス コントロールに「Test1 test3」のテキストのみを表示する必要があります。

それで、誰かが私を助けて、それを行う方法を教えてくれますか?

前もって感謝します。

4

2 に答える 2

0

RichTextBox コントロールは Visible rtf コードをサポートしているため、次のように動作します。

string hideText = "test2 ";
if (richTextBox1.Find(hideText) > -1) {
  richTextBox1.SelectedRtf = @"{\rtf1\ansi\v " + hideText + @"\v0}";    
  MessageBox.Show(richTextBox1.Text);
}

表示されるメッセージには引き続き「test2」が表示されることに注意してください。

あなたのコメントによると、後方に反復して単語のすべてのインスタンスを非表示にする方法は次のとおりです。

string hideText = "[test2]";
int index = richTextBox1.TextLength;
while (index > -1) {
  index = richTextBox1.Text.LastIndexOf(hideText, index);
  if (index > -1) {
    richTextBox1.Select(index, hideText.Length);
    richTextBox1.SelectedRtf = @"{\rtf1\ansi\v " + hideText + @"\v0}";
  }
}
于 2013-05-07T16:12:20.717 に答える