将字体样式更改为Richtextbox vb.net
我需要更改字体样式并将其添加到Richtextbox,这是我的代码,但我遇到一些错误。请帮忙将字体样式更改为Richtextbox vb.net,vb.net,Vb.net,我需要更改字体样式并将其添加到Richtextbox,这是我的代码,但我遇到一些错误。请帮忙 Dim sb = New StringBuilder() sb.AppendFormat(New Font("IDAutomationHC39M", 12,FontStyle.Regular).AppendLine("SCAN BARCODE: " & txtBarcode.Text) RichTextBoxPrintCtrl1.Text = sb.ToString() 要仅更改RichT
Dim sb = New StringBuilder()
sb.AppendFormat(New Font("IDAutomationHC39M", 12,FontStyle.Regular).AppendLine("SCAN BARCODE: " & txtBarcode.Text)
RichTextBoxPrintCtrl1.Text = sb.ToString()
要仅更改RichTextBox中部分文本的字体,您需要搜索所需文本,然后计算其长度并选择它。此时,您可以将所需字体应用于SelectionFont属性
Sub SetBarCodeText(searchText as String)
Dim len As Integer = searchText.Length
Dim pos As Integer = RichTextBoxPrintCtrl1.Find(searchText, 0, RichTextBoxFinds.NoHighlight)
if pos >= 0 Then
Dim start As Integer = pos
Dim endpos As Integer = start + len
RichTextBoxPrintCtrl1.Select(start, endpos - start)
RichTextBoxPrintCtrl1.SelectionFont = new Font("IDAutomationHC39M", 12, FontStyle.Regular)
End If
End Sub
您可以使用
RichTextBoxPrintCtrl1.Text = "SCAN BARCODE: " & txtBarcode.Text
SetBarCodeText("SCAN BARCODE: " & txtBarcode.Text)
为什么要使用StringBuilder来更改字体?AppendFormat不用于使用新字体格式化文本。字体有自己的属性。这是WinForms、WPF还是ASP.NET?是的,这是WinForms,我刚刚在richtextbox中添加了一些文本,但我需要其中一个看起来像条形码的文本。谢谢你需要使用
RichTextBox
的SelectionFont
属性,就像你使用SelectionColor
或SelectionBackColor
一样。我使用了SelectionFont,但它改变了整个RichTextBox控件。很抱歉,你能在vb中分享这个吗?我的项目是用vb编写的,我的C不太好。谢谢。另外值得注意的是,如果您在文本末尾设置插入符号并设置SelectionFont
,则任何追加的文本都将使用该字体。这样做有效,但不允许我追加其他文本。我使用StringBuilder追加行,我需要的是在我的StringBuilder追加行中更改字体样式1。完成追加文本,然后用其他字体搜索所需的文本。为什么pos必须大于零?如果搜索的文本是RTB中的第一个文本怎么办?