在 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);
}
嗨,我有一个小问题。我在 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);
}