我是C#的新手(如果我的问题是noobish,我道歉 - 我在教自己,所以这是一个坎坷的过程).我正在尝试开发一个winform,因为有些方法很长,我试着将它保存在几个类中.这就是我希望实现的目标:
public partial class formMainForm : Form
{
public formMainForm()
{
InitializeComponent();
}
private void UpDown1_ValueChanged(object sender, EventArgs e)
{
longCalculations.LongMethod1();
}
}
public class longCalculations
{
private void LongMethod1()
{
// Arbitrarily long code goes here
}
}
Run Code Online (Sandbox Code Playgroud)
我这样做是为了保持formMainForm课堂整洁,并能够将任何计算分成可管理的块.但是,我在非表单类中遇到使用表单控件(例如复选框,数字上下控件等)的问题.
如果我保持原样(例如CheckBox1)我得到一个名称在当前上下文错误中不存在.我四处搜索,发现这是因为该框是在不同的类中定义的.但是,如果我将其更改为formMainForm.CheckBox1,则错误现在是非静态字段,方法或属性需要对象引用.再次,我环顾四周,看来这是由于表单初始化方法不是静态的.
如果我换public formMainForm()到static formMainForm(),错误现在移动到InitializeComponent();,我不知道从哪里开始.我也尝试过对该formMainForm()方法进行实例化,但是没有做任何事情(我试图使用的代码如下.我发现它在这个网站的某个地方作为类似问题的答案).
private void formLoader(object sender, EventArgs e)
{
shadowrunMainForm runForm = new shadowrunMainForm();
runForm.Show();
} …Run Code Online (Sandbox Code Playgroud)