表单实例成员和静态成员

本文关键字:静态成员 成员 实例 表单 | 更新日期: 2023-09-27 18:36:43

我有一个可以从两个 2 窗体访问的 formdlg对于Form1上的按钮单击,它需要实例 - 可以有多个表单

但是从另一个地方,我只需要一个 formdlg 实例

任何想法谢谢

表单实例成员和静态成员

以下是该类的示例代码,可以为您提供答案。

class formdlg
{
    static formdlg instance;
    public static formdlg GetInstance()
    {
        if (instance == null)
            instance = new formdlg();
        return instance;
    }
}

由于构造函数是公共的,因此您可以随时在 Form1 中调用 new 以获取多个实例。

在 form2 中,每次都使用静态函数 GetInstance 检索单个实例。

希望这有帮助。

简单地说,

使用单例

using System;
public class myForm : Form
{
   private static myForm Current;
   private myForm() {}
   public static myForm Instance
   {
      get 
      {
         if (Current == null)
         {
            Current = new myForm();
         }
         return Current;
      }
   }
}