1

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

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

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

4

1 回答 1

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)
于 2017-09-02T17:26:53.307 回答