C# 将标签作为参数传递给函数

C# 将标签作为参数传递给函数,c#,winforms,delegates,C#,Winforms,Delegates,我正在创建一个实用程序,以便在执行一些计算后将一些记录插入SQL。我正在使用后台工作程序阻止应用程序进入无响应状态。随着流程的运行,我需要更改一些使用委托的标签值。是否可以将我的标签作为参数传递给具有委托的函数,以便我可以重复使用一些代码 下面是我用来更改label2值的函数。对于label3,我使用了另一个几乎相同的函数。是否可以创建一个接受label作为参数的函数,以便我可以传递控件名和所需的消息,并为我进行更新 以下是我更改label2的代码: public void changelabe

我正在创建一个实用程序,以便在执行一些计算后将一些记录插入SQL。我正在使用后台工作程序阻止应用程序进入无响应状态。随着流程的运行,我需要更改一些使用委托的标签值。是否可以将我的标签作为参数传递给具有委托的函数,以便我可以重复使用一些代码

下面是我用来更改label2值的函数。对于label3,我使用了另一个几乎相同的函数。是否可以创建一个接受label作为参数的函数,以便我可以传递控件名和所需的消息,并为我进行更新

以下是我更改label2的代码:

public void changelabel(string msg)
{
    if (label2.InvokeRequired)
        label2.Invoke(new MethodInvoker(delegate
        {
            label2.Text = msg;
        }));
    else
        label2.Text = msg;
}

标签只是表单的字段,只要不调用方法或设置属性,就可以随意传递:

public void ChangeLabel(string msg, Label label) {
    if (label.InvokeRequired)
        label.Invoke(new MethodInvoker(delegate {
            label.Text = msg;
        }));
    else
        label.Text = msg;
}

什么标签?Windows窗体?WPF?ASP.Net?抱歉,我已将其重新标记到WinForm。如果您发布了您所编写的相关代码,这将非常有用。@CAbbott发布了代码。。谢谢:-)您是否尝试过使用标签作为函数参数?成功了吗?哦,不小心修改了你的答案而不是我的。很抱歉。“编辑”按钮看起来非常相似…;-)事实上,我将删除我的答案,因为它包含在你的(+1,顺便说一句)中。