2012-10-30 5 views
0

단추를 클릭하여 텍스트 상자의 마지막 줄을 어떻게 얻을 수 있습니까? 내가 첫 번째 라인을 얻을 그 코드 ... 당신은 문자열을 분할 할 필요가 없습니다마지막 줄을 텍스트 상자에 넣기

private void btnProbe_Click(object sender, EventArgs e) 
    { 

     string[] first = txtRec.Text.Split(new char[] { '\n' }[0]); 
     probe.Text = txtRec.Lines[0]; 
    } 
+4

왜 '첫 번째'를 계산 하나 그것에 대해 아무 것도하지 않습니까? 왜 단일 원소를 얻기 위해'char' 배열을 만드는 겁니까? – Rawling

답변

4

으로 만 사용

private void btnProbe_Click(object sender, EventArgs e) 
{ 
    if(txtRec.Lines.Length>1)   
     probe.Text = txtRec.Lines[txtRec.Lines.Length - 1]; 
} 
+0

버튼을 누르면 내 탐침 텍스트 상자에 아무 것도 없습니다 ... –

+0

@NikolaObretenov는 비어있는 마지막 줄입니까? –

+0

만약 당신이 텍스트 상자에있는보기와 같은 마지막 라인을 의미한다면 ... 예 아픈 지금 전체 텍스트 박스를 채우기 위해 시도합니다. (어쨌든 스크롤이 있습니다 ...) 마지막 라인을 계산해야합니다 ... –

0

첫 번째 라인은 쓸모 소 름입니다.

private void btnProbe_Click(object sender, EventArgs e) 
{ 
    probe.Text = txtRec.Lines[txtRec.Lines.Length - 1]; 
} 
1

당신은 단지 라인의 수를 복용 괜찮아요 :

txtRec.Lines.Length 당신 라인의 수를 제공
txtRec.Lines[txtRec.Lines.Length - 1]; 

; 배열 계산이 0부터 시작하기 때문에 1을 빼야합니다.

더하기, "first"로 시작하는 줄은 필요 없습니다. LINQ를 사용

2

코드는 훨씬 더 우아하게 :

var lastLineString = txtRec.Lines.Last(); 

** 당신의 용도에을 System.Linq를 추가해야합니다.

관련 문제