Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字体样式更改为Richtextbox vb.net_Vb.net - Fatal编程技术网

将字体样式更改为Richtextbox vb.net

将字体样式更改为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

我需要更改字体样式并将其添加到Richtextbox,这是我的代码,但我遇到一些错误。请帮忙

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中的第一个文本怎么办?