2012-12-24 19 views
6

So habe ich den folgenden Code für, wenn die Schaltfläche „Hinzufügen Spieler“ Schaltfläche geklickt wirdAuslösen einer Taste durch den Code klicken

private void addPlayerBtn_Click_1(object sender, EventArgs e) 
{ 
    //Do some code 
} 

Ich möchte jedoch diesen Code von meinem SDK auszulösen. Hier ist, was ich versucht habe,

private void command() 
{  
    addPlayerBtn_Click_1(object sender, EventArgs e);   
} 

ich viele Fehler, sobald ich in der Linie setzen

addPlayerBtn_Click_1(object sender, EventArgs e) 

Könnte jemand bitte sagen Sie mir, wie Sie den Code zu schreiben, so dass ich ein Ereignis auslösen können indem Sie es einfach in Code schreiben?

Antwort

17

Zum einen, wenn Sie eine Methode aufrufen, deklarieren Sie nicht den Typ des Parameters, nur den Wert.

So folgt aus:

addPlayerBtn_Click_1(object sender, EventArgs e); 

Sollte

addPlayerBtn_Click_1(sender, e); 

Jetzt sein, werden Sie sender und e zu erklären haben. Diese können tatsächliche Objekte sein, wenn Sie Ereignis args muss passieren, oder:

addPlayerBtn_Click_1(null, EventArgs.Empty); 

Das Obige kann entweder in WinForms oder ASP.NET verwendet werden. Im Falle von WinForms, können Sie auch anrufen:

addPlayerBtn.PerformClick(); 
6

Wenn Sie eine Funktion aufrufen, können Sie aktuelle Argumente liefern, die Werte sind, nicht formale Argumente, die Typen und Parameternamen sind.

ändern

addPlayerBtn_Click_1(object sender, EventArgs e); 

zu

addPlayerBtn_Click_1(addPlayerBtn, EventArgs.Empty); 
1
addPlayerBtn_Click_1(object sender, EventArgs e); 

Sollte sein:

addPlayerBtn_Click_1(this, new EventArgs()); 
2
addPlayerBtn_Click_1(null, null); 

Dies funktioniert, wenn Sie nicht die Informatio brauchen n in sender und e.

2

Sie verwenden nicht den Absender oder die Ereignisse, so dass Sie die Funktion direkt wie folgt aufrufen können:

addPlayerBtn_Click_1(null, null); 
0
private void command() 
{  
    addPlayerBtn.PerformClick(); 
} 
Verwandte Themen