我有这段代码:
print_text.Text = "Patient number: " + ds.Tables("patients").Rows(0).Item(0)
print_text.AppendText(Environment.NewLine)
print_text.Text = print_text.Text + "Last name: " + ds.Tables("patients").Rows(0).Item(1)
print_text.AppendText(Environment.NewLine)
现在上面的数据我正在以编程方式添加并且工作正常。但是,在上面的代码中,我想以粗体字添加Patient number
和Last name
。
答案 0 :(得分:9)
使用RichTextBox
时,为什么不直接使用RTF?
示例:强>
Sub Main
Dim f = new Form()
Dim print_text = new RichTextBox() With {.Dock = DockStyle.Fill}
f.Controls.Add(print_text)
Dim sb = new System.Text.StringBuilder()
sb.Append("{\rtf1\ansi")
sb.Append("This number is bold: \b 123\b0 ! Yes, it is...")
sb.Append("}")
print_text.Rtf = sb.ToString()
f.ShowDialog()
End Sub
<强>结果:强>
这样,您也可以轻松地将RTF内容包装到扩展方法中:
Module RtfExtensions
<Extension()>
Public Function ToRtf(s As String) As String
Return "{\rtf1\ansi" + s + "}"
End Function
<Extension()>
Public Function ToBold(s As String) As String
Return String.Format("\b {0}\b0 ", s)
End Function
End Module
并像
一样使用它Dim text = "This number is bold: " + "123".ToBold() + "! Yes, it is..."
print_text.Rtf = text.ToRtf()
答案 1 :(得分:4)
使用RichTextBox.SelectionFont
财产
请查看以下MSDN链接:Link 1和Link 2
希望它有所帮助。
编辑:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim len As Integer
RichTextBox1.Text = "Patient number: " + " 12345"
RichTextBox1.SelectionStart = 0
RichTextBox1.SelectionLength = "Patient number".Length
RichTextBox1.SelectionFont = New Font("Arial", 12, FontStyle.Bold)
RichTextBox1.SelectionLength = 0
RichTextBox1.AppendText(Environment.NewLine)
len = RichTextBox1.Text.Length
RichTextBox1.AppendText("Last name: " + " ABCD")
RichTextBox1.SelectionStart = len
RichTextBox1.SelectionLength = "Last name".Length
RichTextBox1.SelectionFont = New Font("Arial", 12, FontStyle.Bold)
RichTextBox1.SelectionLength = 0
End Sub