![](/img/trans.png)
[英]How to save richtextbox text to a mysql DB with it being formatted(bold, italic…) and retrieve this text within code
[英]How to Format text within bracket for RichTextBox?
我有一个字符串,如: [1]新年快乐[2]生日快乐[3]在一起快乐 ,我想将数字1,2,3格式化为红色。 因此,我将字符串放入RichTextBox并按照以下代码进行搜索和格式化:(我要做的是,找到“ [”和“]”并保存到全局变量(i,j),然后每次我得到一个一组新的i,j格式化事件被触发。但是,它没有达到我的预期。:(
Public i, j As Integer
Dim s As String = "[1] Happy New year [2] Happy Birthday [3] Happy Together"
'Button Code
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim count As Integer = 0
rtfbuffer.Text = s
rtfbuffer.Font = New Font("Tahoma", 12, FontStyle.Bold)
rtfbuffer.ForeColor = Color.Black
Do While count < s.Length - 1
If s.Chars(count) = "[" Then
i = count
count += 1
ElseIf s.Chars(count) = "]" Then
j = count + 1
count += 1
rtfbuffer.Select(i, j)
rtfbuffer.SelectionColor = Color.Red
Else
count += 1
End If
Loop
最终,我只能在“ []”红色内得到第一个文本。.看一下代码,我不明白为什么它没有通过剩余的文本。 你能告诉我如何纠正它吗? 非常感谢〜
Select
方法的第二个参数是要选择的文本的长度。 参见MSDN 。
Public Sub Select(以Integer开头,以Integer开头的长度)
参量
start类型:System.Int32在文本框中当前文本选择中的第一个字符的位置。
length类型:System.Int32要选择的字符数。
所以,在你的代码,当你调用Select
,你可以通过提供计算长度选择(然后突出显示) j - i
,而不是只是j
。 它在您的代码中第一次起作用,因为'end index'( j
)实际上与长度相同,即3。
rtfbuffer.Select(i, j - i)
rtfbuffer.SelectionColor = Color.Red
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.