2012-06-08 142 views
1

访问控制,我遇到了一些麻烦做一个非常简单的任务。我的Windows窗体上有一个丰富的文本框,我试图在任何按钮点击之外访问它。我意识到,控制不是“公共”,我不能只是在代码中调用它,我想改变它。在Windows窗体C#

我得到的错误是:需要用于非静态字段,方法或属性的对象引用。 我知道这是一个真正的新手问题,但我已经尝试了很多方法来解决这个问题,我无法弄清楚。有人可以帮忙吗?

的代码是

public static void SeeIfFinished() 
{ 
    if (FinishedThreadCount == 1) 
    { 
     richTextBox1.Text = "text"; 
    } 
} 
+0

从属性窗口 – ebattulga

+1

设置RichTextBox的'modifier'属性'public'如何没有一个静态方法? –

+0

该方法位于何处?在主表单中? –

回答

5

你的方法是静态的 - 除去static修改,并参照形式的特定实例调用它:

myForm.SeeIfFinished(); 

,或者如果你的长途区号窗体类,只是里面:

SeeIfFinished(); 
1

不能在STA内访问实例化的对象抽动法。

把代码中没有标明static关键字的方法。

1

静态方法只能看到其类的静态成员和任何被传递作为参数。 richTextBox1不是您的窗口类的静态成员,所以它不能在静态方法内引用。

参数添加到您的静态方法(RichTextBox richTextBox)。当你调用静态窗口方法时,传递一个richTextBox1它应该工作。