C# 从 Form1 中的静态方法获取现有 Form1 实例

Sev*_*ver 2 c# oop static-methods instance

我知道这是一个很简单的问题,但没有人能给出简单的答案。

从 Form1 中的静态方法获取现有的 Form1 实例

public partial class Form1 : Form
{
    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        callMethod();           
    }

    public static void callMethod()
    {
       // how can get existing Form1 instance here ?             
       statusLabel.Text = "test";
    }
}
Run Code Online (Sandbox Code Playgroud)

拜托,为什么我需要这个并不重要,重要的是知道如何。

Dev*_*ion 5

你可以这样做,但我仍然建议为你需要的值分离或创建一个模型并将其传递。参见.net的消息概念

public static Form1 Instance
{
   get
   {
      return instance;
   }
}
Run Code Online (Sandbox Code Playgroud)

并将其添加到您的构造函数中

    private static Form1 instance;
    public Form1()
    {
        instance = this;
        InitializeComponent();
    }
Run Code Online (Sandbox Code Playgroud)