你的方法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