我想在 RichTextBox 中設定某個文本范圍的背景顏色。
但是,這樣做的唯一方法是像這樣選擇它:
RichTextBox1.Select(10, 3) 'select text starting from position 10, use a length of 3
RichTextBox1.SelectionBackColor = Color.White
使用 .Select 將游標置于此位置。
如何在不更改游標位置的情況下達到相同的效果?
已發布解決方案,只是重置游標,但這無濟于事。我需要一種不會將游標設定到不同位置的方法。
uj5u.com熱心網友回復:
要保留以前的插入符號位置和選擇:
... Call to suspend drawing here
var start = richTextBox1.SelectionStart;
var len = richTextBox1.SelectionLength;
richTextBox1.Select(10, 3);
richTextBox1.SelectionBackColor = Color.White;
richTextBox1.SelectionStart = start;
richTextBox1.SelectionLength = len;
... Call to resume drawing here
為了防止輕彈檢查這篇文章中提供的解決方案: https ://stackoverflow.com/a/487757/6630084
TextBoxBase.SelectionStart 屬性
TextBoxBase.SelectionLength 屬性
uj5u.com熱心網友回復:
您可以在設定顏色之前存盤游標位置,然后按如下方式恢復位置:
Public Sub New()
InitializeComponent()
richTextBox1.Text = "RichTextBox text line 1" & Environment.NewLine
richTextBox1.Text = "RichTextBox text line 2" & Environment.NewLine
richTextBox1.Text = "RichTextBox text line 3" & Environment.NewLine
Dim i As Integer = richTextBox1.SelectionStart
Dim j As Integer = richTextBox1.SelectionLength
richTextBox1.Select(10, 3)
richTextBox1.SelectionBackColor = Color.White
richTextBox1.SelectionStart = i
richTextBox1.SelectionLength = j 'use this to preserve selection length, or
richTextBox1.SelectionLength = 0 'use this to clear the selection
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/528327.html
標籤:表格富文本框
上一篇:我的WinformsMaterialSkin.2選項卡控制元件為內容占用了大量空間
下一篇:無邊框表格調整大小閃爍
