访问 Windows 窗体 C# 上的控件

本文关键字:控件 Windows 窗体 访问 | 更新日期: 2023-09-27 18:36:28

我在做一个非常简单的任务时遇到了一些麻烦。我的 Windows 窗体上有一个丰富的文本框,我正在尝试在任何按钮单击之外访问它。我已经意识到控件不是"公共的",我不能只是在代码中调用它,只要我想更改它。

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

代码是

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

访问 Windows 窗体 C# 上的控件

你的方法是静态的 - 删除 static 修饰符,并通过引用表单的特定实例来调用它:

myForm.SeeIfFinished();

或者,如果您的调用代码位于窗体类中,则只需:

SeeIfFinished();

无法访问静态方法中的实例化对象。

将代码放在未标有 static 关键字的方法中。

静态方法只能看到其类的静态成员以及作为参数传入的任何内容。 richTextBox1不是窗口类的静态成员,因此不能在静态方法中引用它。

向静态方法添加参数 (RichTextBox richTextBox) . 调用静态窗口方法时,传入一个richTextBox1,它应该可以工作。