【问题标题】:Call methods from another class in a C# GUI从 C# GUI 中的另一个类调用方法
【发布时间】:2015-12-28 10:02:45
【问题描述】:

您好,我有一个小问题。我在 C# 中有一个 GUI 和一个名为“方法”的类。 Methods 为我的 GUI 提供了多种很好的方法。但是由于某种原因,当我尝试实例化方法类时,我无法在我的 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
    }  
}

【问题讨论】:

    标签: c# user-interface methods call


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      根据发布的代码,您的 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
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-10-20
        • 2014-01-31
        • 2014-05-21
        • 2015-06-09
        • 2013-05-17
        • 2010-11-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多