c# richtextbox 修改一行的背景色
时间: 2023-07-27 11:13:32 浏览: 388
要修改 C# 中 RichTextBox 的一行背景色,可以使用 SelectionBackColor 属性和 SelectionStart 属性。以下是一个示例代码,可以将第一行的背景颜色设置为灰色:
```
richTextBox1.SelectionStart = 0;
int lineIndex = richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart);
int lineStartPosition = richTextBox1.GetFirstCharIndexFromLine(lineIndex);
int lineEndPosition = richTextBox1.GetFirstCharIndexFromLine(lineIndex + 1);
if (lineEndPosition == -1) {
lineEndPosition = richTextBox1.Text.Length;
}
richTextBox1.Select(lineStartPosition, lineEndPosition - lineStartPosition);
richTextBox1.SelectionBackColor = Color.Gray;
richTextBox1.DeselectAll();
```
这个代码首先将 SelectionStart 设置为 0,然后找到第一行的起始位置和结束位置,将其选中,并将背景颜色设置为灰色。最后取消选中状态。
相关问题
c#使richtextbox光标所在的一行变浅
您可以使用以下代码将 RichTextBox 中光标所在的行变浅:
```
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
int index = richTextBox1.SelectionStart;
int line = richTextBox1.GetLineFromCharIndex(index);
richTextBox1.Select(richTextBox1.GetFirstCharIndexFromLine(line), richTextBox1.Lines[line].Length);
richTextBox1.SelectionBackColor = Color.LightGray;
}
```
在这个方法中,首先获取光标所在的位置的索引,然后使用 GetLineFromCharIndex 方法获取光标所在的行。接下来,使用 GetFirstCharIndexFromLine 方法获取该行的第一个字符的索引,并使用该行的长度选择整行。最后,将选择的背景颜色更改为浅灰色,以使其看起来更浅。
阅读全文