【问题标题】: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
}