在 C# GUI 中从另一个 class 调用方法

Call methods from another class in a C# GUI

嗨,我有一个小问题。我在 C# 中有一个 GUI 和一个名为 'methods' 的 class。 Methods 为我的 GUI 提供了多种很好的方法。但是由于某些原因,当我尝试实例化方法 class 时,我无法在我的 GUI 中调用它。我的代码如下所示:

public partial class Form1 : Form
{

    public Form1()
    {            
        InitializeComponent();
        Methoden m1 = new Methoden();
        Parameter p1 = new Parameter();
        m1.InitializeSensors(p1.ISensor);
    }




    private void button1_Click(object sender, EventArgs e)
    {
        m1. // this does not work
    }  
}

根据发布的代码,您的 m1 变量已在 Form1 构造函数中声明和初始化。这意味着该变量将仅存在于构造函数的范围内,因此一旦您的代码执行步出构造函数,m1 变量将不复存在。

要解决此问题,您需要将 m1 变量的声明移到构造函数的范围之外,如下所示:

public partial class Form1 : Form
 {
    Methoden m1;
    public Form1()
    {            
        InitializeComponent();
        m1 = new Methoden();
        Parameter p1 = new Parameter();
        m1.InitializeSensors(p1.ISensor);
    }




    private void button1_Click(object sender, EventArgs e)
    {
       m1. // this does not work
    }

您已经在 Form1 的构造函数中声明了 Methoden m1 = new Methoden(); 并且对象 m1 的范围已结束,因此您无法在构造函数之外访问该对象,您应该使用

 Methoden m1=null;
 public Form1()
    {            
        InitializeComponent();
         m1 = new Methoden();
        Parameter p1 = new Parameter();
        m1.InitializeSensors(p1.ISensor);
    }