如何仅显示来自多个文本框控件的输入数据

本文关键字:控件 输入 数据 文本 显示 何仅 | 更新日期: 2024-09-20 07:44:48

我的Windows窗体上有四个文本框控件,现在我想显示那些只有数据的文本框的数据

if txtbox1="A", txtbox2="B", txtbox3="", txtbox4=""

在这种情况下,我想获得用户输入的数据(A和B分别),以进一步处理

if txtbox1="A", txtbox2="", txtbox3="", txtbox4=""

在这种情况下,我想再次获得用户输入的数据(单独的A),以进一步处理

如何仅显示来自多个文本框控件的输入数据

我认为避免重复"if"并在字符串之间正确粘贴分隔符的最简单方法是使用Aggregate和IsNullOrEmpty:

var edits = new[] { textBox1, textBox2, textBox3, textBox4 };
string text = edits.Select(q => q.Text).Where(q => !string.IsNullOrEmpty(q)).Aggregate((a, b) => a + "&" + b);

您可以将if语句用于文本框,然后将其附加到单个字符串中?

if(!string.IsNullOrEmpty(txtboxX.Text) 
 fullString += " & "+ textBoxX.Text //append string

如果文本框不为空,则此代码将从文本框中获取值,并用"&"分隔非空值来构造输出字符串:

string output = String.IsNullOrEmpty(txtbox1.text)? "" : txtbox1.text + String.IsNullOrEmpty(txtbox2.text)? "" : "&" + txtbox2.text + String.IsNullOrEmpty(txtbox3.text)? "" : "&" + txtbox3.text + String.IsNullOrEmpty(txtbox4.text)? "" : "&" + txtbox4.text;

如果textbox1为空,则可以删除第一个"&"

output = String.Join("&",output.Split(new[] { '&' }, StringSplitOptions.RemoveEmptyEntries));