私は初心者のプログラマーです。という名前GravCalc
のフォーム クラスから継承するという名前のクラスがありMain
ます。内部には、さまざまなコントロールを扱う多数のメソッドがあります。コード例を次に示します。
public class GravCalc : Main
{
private static float engineer = 1.0f;
public void ShowEngineer()
{
GravCalc.engineer = 1.1f;
gravEngineerLabel.Visible = true;
gravEngineerLine.Visible = true;
}
};
これらのメソッドとクラスを静的にしますが、静的ではないため、コントロールから継承しForm
たり、コントロールを操作したりすることはできません。
この場合、クラスのインスタンスを作成する必要があります。だから授業中に書きGravCalc myGravCalc = new GravCalc();
ました。Main
すべてがコンパイルされていますが、プログラムを開始すると、スタック フレームの最大数に達するまで、クラスの複数のインスタンスが作成されるため、System.StackOverflowException
発生します。
私は何を間違っていますか?
編集
私がやりたかったことは、1 つのパネルに関するすべてのメソッドと変数を 1 つのクラスにグループ化することです。静的にできれば完璧です。コントロールにアクセスできるように継承させましたMain
が、これは私が望んでいたものではないことに気づきました。
コントロールを操作できるクラスを作成する可能性はありますか? それとも、その Form クラスに何かを投げるべきですか?