2014-06-09 43 views
1

我正在爲自己製作一個小應用程序,它將基於輸入到表單上的幾個富文本框中的文本進行連接。從富文本框中讀取文本行

一個文本框可能有10-20行文本,每行都是它自己的單獨條目,所以我需要能夠逐行讀取文本。

但是,在研究WPF時,在閱讀文本方面我只在網上看到過一個聲明,並且從頭到尾閱讀盒子的內容。我想以某種方式循環或逐行分開它。

根據MSDN,從中提取一個WPF富文本框中的文本轉換成字符串,你需要使用:

string StringFromRichTextBox(RichTextBox rtb) 
{ 
    TextRange textRange = new TextRange(
     // TextPointer to the start of content in the RichTextBox. 
     rtb.Document.ContentStart, 
     // TextPointer to the end of content in the RichTextBox. 
     rtb.Document.ContentEnd 
    ); 

    // The Text property on a TextRange object returns a string 
    // representing the plain text content of the TextRange. 
    return textRange.Text; 
} 

但是,如果你看一下我的豐富的文本框,你會看到裏面的文字是值的列表,所以例如,一個箱子可能看起來像下面:

000423523 

324 

93489290099 

823342342 

0003242342 

44400298889 

我希望能夠讀取由RichTextBox內行這些值線,但在WPF中,有沒有按」 t似乎是richtextbox1.Lines選項。

+1

爲什麼不讀取整個內容然後逐行解析? –

+0

您可以包括迄今爲止所嘗試的,以及爲什麼它不適合您? –

+0

編輯澄清。 – user3494110

回答

0

對不起,簡潔,但如何爲

var lines = richTextBox1.Text.Split('\n'); 
1

簡單的東西你可以用String.Split()方法拆分RichTextBox文本通過換行和排除結果集空行,例如:

String[] lines = 
     StringFromRichTextBox(rtb).Split(new[]{Environment.NewLine} 
              , StringSplitOptions.RemoveEmptyEntries); 

foreach (var line in lines) 
{ 
    MessageBox.Show(line); 
} 
+0

是WPF中可用的StringFromRichTextBox?我似乎無法通過智能感知來彈出它。 – user3494110

+0

嗯..這應該是你的方法:) – har07