我试图通过标签显示文本框中的文本行数.但是,如果最后一行是空的,标签必须显示没有该空行的行号.
例如,如果它们是5行,最后一行为空,则标签应显示行数为4.
谢谢..
private void txt_CurrentVinFilter_EditValueChanged(object sender, EventArgs e)
{
labelCurrentVinList.Text = string.Format("Current VIN List ({0})", txt_CurrentVinFilter.Lines.Length.ToString());
}
Run Code Online (Sandbox Code Playgroud)
实际上,上面是代码......必须更改为只显示C#winforms中的空白行.
谢谢
Abb*_*bas 13
您也可以使用LinQ以更短的方式执行此操作.要计算行数并在最后一行为exlcude时为空:
var lines = tb.Lines.Count();
lines -= String.IsNullOrWhiteSpace(tb.Lines.Last()) ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
并且只计算非空行:
var lines = tb.Lines.Where(line => !String.IsNullOrWhiteSpace(line)).Count();
Run Code Online (Sandbox Code Playgroud)
这不会计算末尾的任何空行
int count = tb.Lines.Length;
while (count > 0 && tb.Lines[count - 1] == "") {
count--;
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您还想排除仅包含空格的行
int count = tb.Lines.Length;
while (count > 0 && tb.Lines[count - 1].Trim(' ','\t') == "" ) {
count--;
}
Run Code Online (Sandbox Code Playgroud)