2017-09-02 64 views
1

我試圖檢索RichTextBox中每行文本的字體名稱(每行都有不同的字體)。以下是我用來獲取RTB中第二行字體名稱的代碼。檢索RichTextBox中選定文本的字體名稱

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

但我得到的第一行文本框的字體名稱。任何幫助表示讚賞。

回答

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) 
+0

仍然得到第一線的字體名稱。使用RichTextbox2.SelectedText來驗證它是否選擇了正確的文本並且它是,但字體顯示不正確。 謝謝 – Charan

+0

@Charan我在RichTextBox中測試了這段代碼,我在三條不同的線上有三種不同的字體,並且它正確地報告了一切。 – LarsTech

+0

@Charan我發佈了我的設置代碼。 – LarsTech

相關問題