你的方法Form1_Load
是事件处理(因为它通常被称为发生的一些事件的结果)。 “加载”事件由WinForms定义,因此您无法更改参数为object sender
和EventArgs e
的事实。
WinForms在您显示表单之前创建Form1
类的一个实例。每当事件发生在窗体上时,该同一对象上的事件处理程序就会被调用。
所以,你可以存储你的Form1
类的字段的值和属性:
public class Form1 : Form
{
Variables _myVariables;
public Form1()
{
InitializeComponent();
_myVariables = new Variables() { Node = 10 }
}
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("The current value of _myVariables.Node is: " + _myVariables.Node);
}
}
如果您Variables
对象的形式之外创建的,那么你可以把它传递到您的Form1
构造:
public class Form1 : Form
{
Variables _myVariables;
public Form1(Variables variables)
{
InitializeComponent();
_myVariables = variables;
}
// ...
}
// Then, somewhere else:
var variables = new Variables() { Node = 10 };
var myForm = new Form1(variables);
myForm.Show();
// or: Application.Run(myForm);
然后放入窗体的构造函数中 - 您可以将变量传递给窗体的'Load'事件。 –
你可能需要在winforms/C#上做一个教程。听起来像你很新 –
你究竟想要做什么? – Lodestone6