0

私の問題は、共通クラスclass1 = new class();を使用できないことclass1.method1();です。クラスの新しいインスタンスを作成すると、新しいフォームが開き、クラスにもコンストラクターがあるためです。クラスの1つのメソッドだけが必要です。

4

2 に答える 2

1

クラスのインスタンス メソッドを使用するには、そのクラスのインスタンスが必要です。例外なく*。そのコンストラクターがフォームを開く場合は、開かないようにします。

于 2012-12-23T02:32:50.957 に答える
1

あなたが話しているこれがフォームであるかのように、デザインパターンを再検討する必要があるかもしれませclass1ん.UIがそのような方法で表示されないようにすることは、特に適切なデザインパターンではありません. 人々がより適切にアドバイスできるように、現在の実装で質問を更新してください!

コンストラクター内から Form を手動でインスタンス化して表示する場合は、class1次のような実装を検討できます。

public Class1(bool showForm)
{
    if (showForm)
    {
        //Show UI
    }
}

必要に応じて、次のように UI を非表示にすることができます。

protected override void SetVisibleCore(bool value)
{
    base.SetVisibleCore(false);
}
于 2012-12-23T02:43:28.773 に答える