无法在表单上设置标签

时间:2012-02-15 19:38:42

标签: c# winforms c#-4.0

我有一个带有一些私有属性的表单

namespace TestApplication
{
    public partial class ResultDialog : Form
    {
          String someText;

在一个方法中,我有一个名为SetupForm

的方法
 label1.Text = someText;

我收到一条错误消息,上面写着

  

错误1非静态字段需要对象引用,   方法或财产   TestApplication.ResultDialog.someText'X:\ ResultDialog.cs 50 13 TestApplication

4 个答案:

答案 0 :(得分:1)

是同一文件中的代码试用

 this.label1.Text = this.someText;

必须确保您没有在静态功能中设置值

答案 1 :(得分:0)

label1或SetupForm是静态的吗?如果是这样,你的字符串也必须是静态的。

静态函数只能改变静态值。如果函数是静态的,它就不会知道label1是该类实例的一部分。

为:

class SomeClass
{
     string m_value = 0;

     static setValue(int value)
     {
          m_value = value;
     }
}

好:

class SomeClass
{
     static string m_value = 0;

     static setValue(int value)
     {
       m_value = value;
     }
}

你可能需要什么:

static void SetupForm(Label label, string value)
{
    label.Text = value;
}

答案 2 :(得分:0)

根据我的理解,您的方法“SetupForm”可能是一个静态方法,这可能是导致此错误的主要原因。

答案 3 :(得分:0)

是否在构造函数中的Initialize方法之前调用了setup form方法?如果是这样,标签还不存在。