[英]Pass a label as parameter to a function
我正在创建一个实用程序,以在执行一些计算后将少量记录插入SQL。 我正在使用后台工作人员阻止应用程序进入非响应状态。 随着过程的进行,我需要更改一些使用委托的标签值。 是否可以将我的标签作为参数传递给具有委托的函数,以便我可以重用部分代码?
以下是我用来更改以更改label2的值的函数。 对于label3,我使用了另一个几乎相同的功能。 是否可以创建一个接受标签作为参数的函数,以便我可以传递控件名称和所需的消息,并为我进行更新?
这是我更改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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.