Winforms 在vb.net中隐藏Richtextbox中的部分文本
我想在vb.net的richtextbox中隐藏部分文本。 i、 e 现在我想从richtextbox文本中隐藏test2,它应该只在richtextbox控件上显示Test1 test3文本 有人帮我告诉我怎么做吗 提前感谢。是的,它是静态值 这似乎是一个微不足道的答案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代码,因此这将
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}";
}
}