我是一个新手程序员。我有一个名为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
继承或因为他们都是非静态的控制操作。
在这种情况下,我必须创建我的类的一个实例。所以我在Main
班写了GravCalc myGravCalc = new GravCalc();
。
一切都在编译,但是当我启动程序时,会创建我的类的多个实例,直到达到堆栈帧的最大数量,因此发生System.StackOverflowException
。
我在做什么错?
编辑
我想做的事情是组中的所有方法和变量concernig一个面板为一类。如果它可能是静态的,那将是完美的。我已经从Main
继承了我的控制权,但是你意识到我不是我想要的。
那么有没有可能让一个可以在控件上操作的类?或者我应该把一些东西扔进那个Form类?
为什么您的GravCalc类继承自Main?你知道这使GravCalc成为一种形式吗? – Blorgbeard
因此,'GravCalc'继承自'Main'并且'Main'实例化一个新的'GravCalc'? – 2013-06-03 22:16:13
b [e]沉思无言...... –