我有一个带有多个标签控件的Windows窗体:
lblBob
lblFred
lblGeorge
我想创建一个更新这些标签的函数:
void SetLabelText (String first)
{
Label test = lbl + first;
test.Text = "hello";
}
我的想法是,我可以运行一个作业并收集名字,然后将Bob或Fred或George传递给该函数,并通过将传递的字符串附加到对象名称lbl来更新其相关标签?
显然,上面因为无法在标签上添加字符串而失败,所以有可能做到以上几点吗?原因:表单有20多个标签需要更新并尝试通过调用函数来反复减少重复代码?
答案 0 :(得分:2)
您可以使用Controls.Find
获取Label
:
void SetLabelText (String first)
{
Label test = Controls.Find("lbl" + first, true).FirstOrDefault() as Label;
if (test != null)
{
test.Text = "hello";
}
}
您可以在此处阅读更多内容:MSDN Find
答案 1 :(得分:0)
为什么不通过标签?
void SetLabelText(Label label, string text)
{
label.Text = text;
}