Dies ist meine erste Frage hier, und obwohl es wahrscheinlich ein sehr nooby ist, hat es mich für eine ganze Weile ratlos. Ich verwende ein vereinfachtes Beispiel zur Erklärung.Button-Ereignis, das Methode aufruft hat keinen Einfluss auf öffentliche Int
In einer Konsolenanwendung habe ich ein public int 'x' auf 0 und eine Methode 'test' auf 1 gesetzt. Wenn 'test' in Main aufgerufen wird, ist der Wert von X jetzt 1 (als erwartet).
public int x = 0;
public void test()
{
x = 1;
}
static void Main(string[] args)
{
Program program = new Program();
program.test();
Console.WriteLine(program.x);
Console.ReadLine();
}
aber (und das ist das, was ich nicht verstehe), wenn ein Button_Click Ereignis mit dem gleichen ‚Test‘ Methode auf einem Windows Forms-Anwendung aufzurufen, ‚x‘ bleibt als 0:
public Form1()
{
InitializeComponent();
}
public int x = 0;
public void test()
{
x = 1;
}
private void button1_Click(object sender, EventArgs e)
{
Form1 form = new Form1();
form.test();
MessageBox.Show("" + x);
}
}
So zusammenzufassen, was ich geschehen möchte, ist für "Test" aufgerufen werden, wenn die Schaltfläche geklickt wird, ändern Sie den Wert von "X" auf 1. Kann jemand erklären, warum dies nicht funktioniert?
Danke!
Danke für die Erklärung! – Sammmm