Winforms 在vb.net中隐藏Richtextbox中的部分文本

Winforms 在vb.net中隐藏Richtextbox中的部分文本,winforms,richtextbox,selection,Winforms,Richtextbox,Selection,我想在vb.net的richtextbox中隐藏部分文本。 i、 e 现在我想从richtextbox文本中隐藏test2,它应该只在richtextbox控件上显示Test1 test3文本 有人帮我告诉我怎么做吗 提前感谢。是的,它是静态值 这似乎是一个微不足道的答案 RichTextBox1.Text = RichTextBox1.Text.Replace("test2", "") *假设静态值不是另一个字符串的一部分。RichTextBox控件确实支持可见的rtf代码,因此这将

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

现在我想从richtextbox文本中隐藏test2,它应该只在richtextbox控件上显示Test1 test3文本

有人帮我告诉我怎么做吗

提前感谢。

是的,它是静态值

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

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

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

RichTextBox控件确实支持可见的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}";
  }
}

它是一个静态值,您可以调用Replace来简单地从字符串中删除它吗?如果没有,请提供有关该值的更多详细信息,以及您打算如何在实际问题中找到它。是的,它是静态值,我们知道只能替换该值。这样很好。但是如果rtf的值类似于richTextBox1.text=[test2][test1][test2]。“现在我想隐藏[test2],然后看看它是如何实现的。”BrijeshPatel更新了帖子。
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}";
  }
}