1

我想在 vb.net 的richtextbox 中隐藏部分文本。IE

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 回答
0

“是的,它是静态值”

这似乎是一个微不足道的答案......

    RichTextBox1.Text = RichTextBox1.Text.Replace("test2", "")

*假设静态值不是另一个字符串的一部分。

于 2013-05-07T14:29:10.327 回答