-2

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

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

任何想法谢谢你

4

2 回答 2

2

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

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

        return instance;
    }
}

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

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

希望这可以帮助。

于 2012-06-08T04:47:44.140 回答
0

简单地,

使用单例

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;
      }
   }
}
于 2012-06-08T04:41:08.970 回答