我是一个新手程序员。我有一个名为的类,它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
发生。
我究竟做错了什么?
编辑
我想做的是将一个面板相关的所有方法和变量分组到一个类中。如果它可以是静态的,那将是完美的。我已经让它继承自Main
访问我的控件,但你意识到这不是我想要的。
那么是否有可能制作一个可以对控件进行操作的类?还是我应该把所有东西都扔进那个 Form 类?