我先试过这个。在将listView中的文本添加到richTextBox之后。
void lvnf_SelectedIndexChanged(object sender, EventArgs e)
{
if (ListViewCostumControl.lvnf.SelectedItems.Count > 0)
{
richTextBox1.Text = File.ReadAllText(ListViewCostumControl.lvnf.Items[ListViewCostumControl.lvnf.SelectedIndices[0]].Text);
int length = richTextBox1.TextLength;
richTextBox1.SelectionStart = length;
richTextBox1.SelectionLength = richTextBox1.Text.Length;
richTextBox1.SelectionColor = Color.Red;
}
}
在这种情况下,我认为它会将richTextBox中的所有文本用红色着色,但我并没有将richTextBox中的文本保持为原始黑色。
但我想做的是在线后:
richTextBox1.Text = File.ReadAllText(ListViewCostumControl.lvnf.Items[ListViewCostumControl.lvnf.SelectedIndices[0]].Text);
要在redTextBox中的所有位置中着色为text / string" Form1"存在。
答案 0 :(得分:0)
如果您使用文件提供的新文本替换richTextBox1
中的整个文本。那么SelectionStart
将来自0
,SelectionLength
将是输入字符串的长度;即,
string fileContent = File.ReadAllText(ListViewCostumControl.lvnf.Items[ListViewCostumControl.lvnf.SelectedIndices[0]].Text);
int length = fileContent.Length;
richTextBox1.Text = fileContent;
richTextBox1.SelectionStart = 0;
richTextBox1.SelectionLength = length;
richTextBox1.SelectionColor = Color.Red;
如果要将文件内容附加到现有文本,则可以执行以下操作:
int startIndex= richTextBox1.TextLength;
richTextBox1.AppendText(fileContent);
richTextBox1.SelectionStart = startIndex;
richTextBox1.SelectionLength = length;
richTextBox1.SelectionColor = Color.Red;
这意味着您必须将选择开始设置为当前TextContent长度。然后附加内容,然后将SelectionLength设置为内容的长度