2010-11-08 7 views

Antwort

11
button1_click(null, new EventArgs()); 
+4

Und bete, dass das Argument 'sender' nicht verwendet wird. –

+1

Wenn Sie den Absender verwenden möchten, fügen Sie ihn einfach anstelle von null ein. – cichy

1

ich, dass manchmal tun, indem tatsächlich die Event-Handler-Funktion aufgerufen wird, das ist, wenn ich es tatsächlich umgesetzt.
wahrsten Sinne des Wortes nennen es mag:

button1_Click(this, new EventArgs()); 
2

Von innerhalb oder außerhalb des Form wo die Button ist? Einfachste Sache ist rufen Sie einfach die Funktion:

Button1_Click(Button1, EventArgs.Empty); 
9

Option: PerformClick() verwenden.

Werfen Sie einen Blick hier: How to: Call a Button's Click Event Programmatically.

Der Vorteil hier ist, dass das Ereignis Verhalten genau das gleiche wie ein echter Knopf klicken wird (wie von button1_click direkt aufrufen).

Aber keine dieser Optionen ist die beste IMHO. Wenn Sie den Event-Handler-Code aufrufen müssen, benötigen Sie eine neue Methode! Refaktorieren Sie einfach das alte in eine neue Standardmethode und rufen Sie es von wo auch immer Sie wollen.

+1

+1: Ich habe immer angenommen, 'PerformClick' ist besser als Aufruf der Schaltfläche Handler direkt, da das Framework besser weiß, als Sie etwas Besonderes tun müssen. Es geht auch auf Ben Voigts Kommentar zum Argument "Sender" ein. – Powerlord

+1

+1 für Refaktor des alten button1_click, macht so viel Sinn – Spooks

Verwandte Themen