我有一个带有一些私有属性的表单
namespace TestApplication
{
public partial class ResultDialog : Form
{
String someText;
在一个方法中,我有一个名为SetupForm
的方法 label1.Text = someText;
我收到一条错误消息,上面写着
错误1非静态字段需要对象引用, 方法或财产 TestApplication.ResultDialog.someText'X:\ ResultDialog.cs 50 13 TestApplication
答案 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方法?如果是这样,标签还不存在。