小编Fat*_*Man的帖子

C#:尝试在不同的类中使用控件元素 - "需要对象引用"

我是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)

c# class winforms

3
推荐指数
1
解决办法
64
查看次数

标签 统计

c# ×1

class ×1

winforms ×1