c# - RichTextBox.Select 与 SubString 方法之间的行为不一致

标签 c# winforms richtextbox substring

我正在开发 Windows 窗体应用程序。我使用 RichTextBox.LoadFile 方法从文件加载文本并突出显示文本的某些部分。文件中的文本包含返回字符。

假设我要高亮高亮。首先我找到 startIndexhighlight 部分的 length ,然后使用 RichTextBox.Select(startIndex, length) 并给它一些颜色。

当我使用SubString 方法时,我可以找到正确的文本。但是当我将 startIndexlength 的相同值应用于 Select 方法时,突出显示的部分变为 [space][space][ space]the highli.看起来 Select 方法考虑了一些返回字符并导致了一些问题。

我该如何解决?

最佳答案

我认为你应该使用 RichTextBoxFind() 方法:

int nextStartIndex;
public void Find(string keyword){
   int i = richTextBox1.Find(keyword, nextStartIndex, RichTextBoxFinds.None);
   if(i != -1) {
      nextStartIndex = i + keyword.Length;          
   }
}

关于c# - RichTextBox.Select 与 SubString 方法之间的行为不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18248176/

相关文章:

c# - 如何在 DataGridView 中为列设置密码

c# - 删除富文本框中的选定文本

c# - 如何将滚动条向上移动一行? (在 C# RichTextBox 中)

wpf - 如何从 wpf 中的另一个窗口访问一个窗口的控件(richtextbox)?

c# - Windows 服务内的 TPL

c# - 扩展方法之间的模糊方法调用

c# - 为什么需要关闭 File.Create?

c# - 如何从另一个类更新 Windows 窗体 GUI?

windows - 哪种编程语言最适合实现 Windows 窗体对话框?

.NET Bootstrap 无需设置