c#读取所有文本框/标签的更快方式
本文关键字:标签 方式 读取 文本 | 更新日期: 2023-09-27 18:29:11
我有一个表格,里面有九个集合的按钮和标签。按钮的单击功能会更新标签中的数字。最后,我将标签值保存到一个文件中。标签的名称类似于eLabel1、eLabel2、eLabel3。我使用for loop-wrapped-around switch(case)来选择和保存标签。我的问题是,是否有一些交换机的代码行更少?我在想一个像"e"+I这样的字符串来调用标签。我知道没有.GetByName(),但还有其他东西可以使用吗?比如.FromHandle()?
这是简短的版本。我有九个标签eLabel1、eLabel2、eLabel3.
public void save()
{
for (int i = 0; i < 9; i++)
{
string[] posstrings=switchpos(i+1);
//string manipulation stuff
}
}
private string[] switchpos(int i)
{
string e;
string[] posstrings;
switch (i)
{
case 1:
e = eLabel1.Text;
break;
case 2:
//and so on
}
posstrings = new string[11] { e, m, l, s, b, pfc, pfr, pf3, cf, ct, cr};
return posstrings;
}
我想知道是否有不同的方法来切换。
您可以创建一个引用标签的数组:
Label[] labels = { eLabel1, eLabel2, eLabel3, ... };
用标签中的文本生成一个数组将是一行代码:
string[] values = labels.Select(l => l.Text).ToArray();