在RichTextBox中检索所选文本的字体名称

时间:2017-09-02 17:13:16

标签: vb.net fonts richtextbox selectedtext

我试图检索RichTextBox中每行文本的字体名称(每行都有不同的字体)。下面是我用来获取RTB中第二行字体名称的代码。

RichTextBox2.Select(RichTextBox2.Lines(0).Length + 1, 
                    RichTextBox2.Lines(1).Length)
font = RichTextBox2.SelectionFont.Name

但是我得到了第一行文本框的字体名称。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

尝试使用GetFirstCharIndexFromLine函数获取每一行的起点:

For i As Integer = 0 To RichTextBox2.Lines.Count - 1
  RichTextBox2.Select(RichTextBox2.GetFirstCharIndexFromLine(i),
                      RichTextBox2.Lines(i).Length)
  MessageBox.Show(RichTextBox2.SelectionFont.Name)
Next

这是我用来设置RichTextBox控件的原因:

RichTextBox2.Clear()
RichTextBox2.SelectionFont = New Font("Segoe UI", 16)
RichTextBox2.AppendText("This is the First Line" & Environment.NewLine)
RichTextBox2.SelectionFont = New Font("Calibri", 12)
RichTextBox2.AppendText("This is the Second Line" & Environment.NewLine)
RichTextBox2.SelectionFont = New Font("Arial", 16)
RichTextBox2.AppendText("This is the Third Line" & Environment.NewLine)