2014-06-09 3 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에서, '이 아무튼 richtextbox1.Lines 옵션 인 것 같습니다.

+1

전체 내용을 읽지 않고 라인별로 구문 분석하지 않는 이유는 무엇입니까? –

+0

지금까지 시도한 것을 포함 할 수 있습니까? 왜 효과가 없습니다. –

+0

설명을 위해 편집 됨. – user3494110

답변

0

간결 죄송합니다,하지만 어떻게 예를 들어, 당신은 결과 집합에서 빈 줄을 선 휴식으로 RichTextBox 텍스트를 분할 제외 할 String.Split() 방법을 사용할 수 있습니다

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

같은 간단한 약 :

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

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

은 WPF에서 사용할 수있는 StringFromRichTextBox입니까? 나는 인텔리 센스 (IntelliSense)를 불러 일으키지 않는 것 같습니다. – user3494110

+0

흠 .. 그게 당신의 방법으로되어있어 :) – har07

관련 문제