表单实例成员和静态成员

时间:2012-06-08 04:36:02

标签: c#

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

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

任何想法 谢谢你

2 个答案:

答案 0 :(得分:2)

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

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

        return instance;
    }
}

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

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

希望这有帮助。

答案 1 :(得分:0)

简单地说,

使用Singleton

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;
      }
   }
}