从动态字符串中更新函数中的标签? labelname + string

时间:2017-05-16 11:02:28

标签: c# label windows-forms-designer

我有一个带有多个标签控件的Windows窗体:

lblBob
lblFred
lblGeorge

我想创建一个更新这些标签的函数:

void SetLabelText (String first)
{
    Label test = lbl + first;
    test.Text = "hello";
}

我的想法是,我可以运行一个作业并收集名字,然后将Bob或Fred或George传递给该函数,并通过将传递的字符串附加到对象名称lbl来更新其相关标签?

显然,上面因为无法在标签上添加字符串而失败,所以有可能做到以上几点吗?

原因:表单有20多个标签需要更新并尝试通过调用函数来反复减少重复代码?

2 个答案:

答案 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;
}