我想选择 RichTextBox 文本的最后一个“{”和“}”之间的文本。
我有下一个代码,但“LastIndexOf”函数有错误,我不知道如何修复它。有人可以给我一些帮助吗?
private void highlightText()
{
mRtbxOperations.SelectionStart = mRtbxOperations.Text.LastIndexOf(@"{", 1, mRtbxOperations.SelectionStart);
mRtbxOperations.SelectionLength = mRtbxOperations.Text.IndexOf(@"}", mRtbxOperations.SelectionStart, mRtbxOperations.Text.Length - 1);
mRtbxOperations.SelectionBackColor = Color.LightBlue;
mRtbxOperations.SelectionFont = new Font(mRtbxOperations.SelectionFont, FontStyle.Underline);
mRtbxOperations.SelectionLength = 0;
}
最后索引错误:
计数必须为正数并且必须引用范围内的某个位置
字符串、数组或集合。参数名称:计数
您的 LastIndexOf 参数以及选择的长度都混乱了,您需要减去起点才能获得正确的长度。
尝试一个更简单的版本:
int textStart = mRtbxOperations.Text.LastIndexOf(@"{",
mRtbxOperations.SelectionStart);
if (textStart > -1) {
int textEnd = mRtbxOperations.Text.IndexOf(@"}", textStart);
if (textEnd > -1) {
mRtbxOperations.Select(textStart, textEnd - textStart + 1);
mRtbxOperations.SelectionBackColor = Color.LightBlue;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)