winform的RichTextBox指定位置插入有格式的数据
描述
RichTextBox指定的某行某列,插入带有格式的文本。
比如在RichTextBox第120个位置,插入“文本”两个字,并且颜色为红色。
解决方法
1、剪切板,赋值粘贴
将文本数据信息放到剪切板中,然后粘贴到指定位置
代码如下:
//richTextBox1.SelectionStart = 120;//要插入文本的位置,此时焦点已经在目标位置了,不需要设置
richTextBox1.SelectionColor = Color.Red;//要插入的文本颜色
Clipboard.SetDataObject("文本");//要插入的文本信息
this.Paste();
Clipboard.Clear();
测试结果OK,符合预期效果
问题:
频繁操作时,会报错 所请求的剪切版操作失败。可以在外面加一个try catch,但是不建议这么做。
解决方法,见2
2、使用RichTextBox的SelectedText方法
代码如下:
//richTextBox1.SelectionStart = 120;//要插入文本的位置,此时焦点已经在目标位置了,不需要设置
richTextBox1.SelectionColor = Color.Red;//要插入的文本颜色
richTextBox1.SelectedText = "文本";//要插入的文本信息
测试结果OK,符合预期效果
注意:
richTextBox1.SelectedText = “”; 这个方法是将richtextbox的已选择文本,替换为指定内容,如果是空字符串相当于删除。
版权声明:本文为weixin_43497445原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。