Vb.net Visual Basic richtextbox-将特定文本设置为斜体字体样式
我创建了一个Richtextbox,它根据用户输入的变量以及一些基本格式生成文本-例如:Vb.net Visual Basic richtextbox-将特定文本设置为斜体字体样式,vb.net,visual-studio-2010,richtextbox,text-formatting,Vb.net,Visual Studio 2010,Richtextbox,Text Formatting,我创建了一个Richtextbox,它根据用户输入的变量以及一些基本格式生成文本-例如: name = txtname.text richtextbox1.text = "Hello my name is " & name & "." 我想做的是在显示名称变量时,将其文本设置为斜体,如下所示 你好,我叫鲍勃 我所能找到的最好的方法就是选择范围,但这方面我运气不好 干杯 试试这个: Me.RichTextBox1.Rtf = "{\rtf1\ansi\ansicpg1252\de
name = txtname.text
richtextbox1.text = "Hello my name is " & name & "."
我想做的是在显示名称变量时,将其文本设置为斜体,如下所示
你好,我叫鲍勃
我所能找到的最好的方法就是选择范围,但这方面我运气不好
干杯 试试这个:
Me.RichTextBox1.Rtf = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}} hello my name is \i Bob\i0 \par}"
如果您使用写字板编写一些示例文本,将其保存为rtf格式,然后在记事本中打开该文件,您将获得一些开始。您可以删除wordpad添加的一些内容(如生成它的程序),但看起来您必须至少保留代码页和至少一种字体
Dim BO As New Font("Arial", 12, FontStyle.italic) ' Italic
richtextbox1.text = "Hello my name is "
richtextbox1.selectionfont = BO
richtextbox1.appendtext(name)
希望这能有所帮助我写了一个小程序来实现这一点:
Private Sub changeRTF(ByVal strToChange As String, ByRef richTextBox As RichTextBox, ByVal color As Color, Optional ByVal ital As Boolean = False, Optional ByVal bold As Boolean = False, Optional ByVal pointSize As Single = -1)
richTextBox.SelectionStart = richTextBox.Find(strToChange, RichTextBoxFinds.MatchCase)
If ital And bold Then
richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Bold + FontStyle.Italic)
Else
If ital Then richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Italic)
If bold Then richTextBox.SelectionFont = New Font(richTextBox.Font, FontStyle.Bold)
End If
richTextBox.SelectionColor = color
Dim originalFontFamily As FontFamily = richTextBox.SelectionFont.FontFamily
Dim originalFontStyle As FontStyle = richTextBox.SelectionFont.Style
If pointSize > 0 Then richTextBox.SelectionFont = New Font(originalFontFamily, pointSize, originalFontStyle)
End Sub
因此,您可以创建文本,然后调用changeRTF(“Bob”,richtextbox1,color.gold,true)
这段代码唯一的问题是,它目前只找到您要查找的字符串的第一个存在。我用它来突出显示标题,所以到目前为止还没有问题(我不重复标题)。请澄清,VB6或VB.NET.Ah抱歉。我正在使用Visual Studio 2010,我相信它是.net?很抱歉,在理解您的答案时遇到了一些问题。您是否建议将字符串导出到写字板中,通过添加斜体格式对其进行修改,然后将其导入到VB中,以便在应用斜体格式的情况下显示该字符串?首先,您需要设置富文本框的.Rtf属性,我想更多地使用写字板来发现rtf所需的标记,而不是.text属性。一旦知道所需的rtf字符串的开始和结束,以及\i和\i0开始和结束斜体,就可以构建自己的rtf字符串。