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