如何将Label4.Text传递给新类?

时间:2013-10-19 00:43:50

标签: c# winforms

在form1中我做了:

public static Label lbl4(Label lbl) {
    Label lbl4 = lbl;
    return lbl4;
}

然后在Form1中我将它用作:

lbl4(label4);

然后在新课程中我使用它:

Local(webSites, Form1.lbl4);

在新类中,Local应接受的方法:List,string 问题是在form1文本中获取Label4。

我在新课程中遇到的错误是:

错误12参数2:无法从'方法组'转换为'字符串'

错误11'GatherLinks.WebCrawler.Local(System.Collections.Generic.List,string)'的最佳重载方法匹配有一些无效的参数

两者都在同一行:Local(webSites,Form1.lbl4);

3 个答案:

答案 0 :(得分:2)

您将lbl4定义为方法。怎么知道你想要Label

Label也不是string

Local(webSites, Form1.MyLabel.Text);

此外,方法lbl4只返回其参数。如果要设置文本:

public void setLabelText(string text)
{
    MyLabel.Text = text;
}

答案 1 :(得分:0)

有很多错误,我会强调一些文章要阅读

这个是在变量范围内: http://msdn.microsoft.com/en-us/library/aa691132(v=vs.71).aspx

这是一个类变量: http://msdn.microsoft.com/en-us/library/vstudio/ms173109.aspx

这个是静态的: http://msdn.microsoft.com/en-us/library/98f28cdx.aspx

这是方法: http://msdn.microsoft.com/en-us/library/ms173114.aspx

长话短说,你的函数没有设置任何东西,当你稍后尝试使用它时,你不是在调用它,而是看起来你期望它是一个类变量,因为你先前调用它。

答案 2 :(得分:0)

您的代码从根本上被打破了。

至于你的错误 - 你传递的是Form1.lbl4,它不是字符串类型。 您应该将标签的Local属性传递给Text方法。