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

Retrieving font name of selected text in RichTextBox

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

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

但是我得到的是文本框第一行的字体名称。感谢任何帮助。

尝试使用 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)