2012-03-07 19 views
1

テキストボックスにテキスト行の数をlabel.Butで表示しようとしていますが、最後の行が空であればラベルに行番号が表示されますその空の行を取り出します。例えばTextBoxのテキスト行数を取得する

それらは空のように最後の行と5行している場合、ラベルは4

おかげとして行数を表示する必要があり..

private void txt_CurrentVinFilter_EditValueChanged(object sender, EventArgs e) 
{ 
    labelCurrentVinList.Text = string.Format("Current VIN List ({0})", txt_CurrentVinFilter.Lines.Length.ToString());      
} 

実際に、上記のコードであります... C#winformsに空でない行だけを表示するように変更する必要があります。

おかげ

+2

うん、あなたは実際に* *人々のための質問をする必要があります答える。 – adelphus

+0

あなたが答えが好きなら、 –

答えて

0

これは

エンドとして
int count = tb.Lines.Length; 
while (count > 0 && tb.Lines[count - 1] == "") { 
    count--; 
} 

を任意の空行をカウントされませんか、あなたはまた、唯一の空白

int count = tb.Lines.Length; 
while (count > 0 && tb.Lines[count - 1].Trim(' ','\t') == "") { 
    count--; 
} 
9

を含む行を除外したい場合にもこれを行うことができますLinQを使用してより短い方法で。行をカウントし、それが空の場合は、最後の行をexlcudeするには:

var lines = tb.Lines.Count(); 
lines -= String.IsNullOrWhiteSpace(tb.Lines.Last()) ? 1 : 0; 

カウントするための唯一の非空行:

var lines = tb.Lines.Where(line => !String.IsNullOrWhiteSpace(line)).Count(); 
+0

として非常にいいサンプルコード:) – deadfish

関連する問題