-2

2つの2つのフォームからアクセスできるformdlgがありますForm1のボタンクリックの場合、インスタンスである必要があります-複数のformdlgを持つことができます

しかし、他の場所からは、formdlgのインスタンスが1つだけ必要です。

任意のアイデアありがとうございます

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 に答える