[C#] Funktionen aufrufen

ramonpf

Mitglied
Hallo zusammen

Erstmal der Code ;)
Code:
private void btNeu_Click(object sender, EventArgs e)
{
...
}

private void btSpeichern_Click(object sender, EventArgs e)
{
   try
   {
    ...
   btNeu_Click();
   }
   catch (Exception Fehler)
   {
   ..
   }
}

Wie ihr seht, will ich in btSpeichern_Click die Funktion btNeu_Click aufrufen.
Nun reklamiert der Compiler "Keine Überladung für die btNeu_Click-Methode nimmt 0 Argumente an.".

Mein Lehrer hat mir mal gezeigt, dass man da in der Klammer noch ein Argument mit dem Wert null oder so mitgeben muss. Leider weiss ich nicht mehr was er genau gemacht hat und da jetzt Ferien sind, wende ich mich an euch.

Wie kann ich die Funktion aufrufen ohne dass der Compiler reklamiert?
Sorry für die Anfängerprobleme.

Gruss
 

romansvillage

Stammgast
Wie kann ich die Funktion aufrufen ohne dass der Compiler reklamiert?

Deine Methode btNeu_Click(object sender, EventArgs e) ist erwartet zwei Argumente. Diese erhält es vom Event an welches du diese Methode registriert hast. Es gibt eigentlich zwei möglichkeiten wie du diese Methode selbst aufrufen kannst:

Methode 1: btNeu_Click(this, new EventArgs());
Hier rufts du die Methode direkt auf. Als Parameter übergibst du das aktuelle Objekt und leere EventArgs.

Methode 2: btNeu.PerformClick();
Hier führst du einen Klick auf dem Button btNeu aus. Da deine Methode am Click Event registriert ist, wird diese automatisch ausgelöst.

MSDN Artikel zu Events und Parametern.
 
Zuletzt bearbeitet:

ramonpf

Mitglied
Hallo

Ich habs jetzt mit der ersten Variante gelöst und hat auch prima funktioniert.

Vielen Dank für deine Hilfe. :)

Gruss
 
Oben