我正在开发Windows窗体应用程序。我使用RichTextBox.LoadFile
方法从文件加载文本并突出显示文本的某些部分。文件中的文本包含返回字符。
假设我想突出显示the highlight
。首先,我找到startIndex
部分的length
和the highlight
,然后使用RichTextBox.Select(startIndex, length)
并为其添加一些颜色。
当我使用SubString
方法时,我可以找到正确的文字。但是,当我将startIndex
和length
的相同值应用于Select
方法时,突出显示的部分将变为[space][space][space]the highli
。它看起来Select
方法会考虑一些返回字符并导致一些问题。
我该如何解决?
答案 0 :(得分:1)
我认为您应该使用Find()
的{{1}}方法:
RichTextBox
答案 1 :(得分:0)
我第一次听说它并且我经常使用richTextBox
。尝试使用SubString
在richTextBox.Text
上找到您想要的子字符串,而不是文件中的字符串。如果您已经这样做,请尝试从子字符串方法检查返回数字,看看它是否引用了正确的位置。
另外,请分享您的代码,我想亲眼看看。如果是.net问题那么我需要重新开始工作......
答案 2 :(得分:0)
这就是我在RichTextBox中“搜索”特定文本然后将其突出显示为RED
的方式private void ColoritRed(RichTextBox rtb, string StringToHighlight)
{
int pos = 0;
string searchText = StringToHighlight;
pos = rtb.Find(searchText);
while (pos != -1)
{
if (rtb.SelectedText == searchText)
{
this.ActiveControl = rtb;
rtb.SelectionStart = pos;
rtb.SelectionLength = searchText.Length;
rtb.SelectionColor = Color.Red;
}
pos = rtb.Find(searchText, pos + 1, RichTextBoxFinds.MatchCase);
}