2010-11-08 11 views

Odpowiedz

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

I módlcie się, aby argument "nadawcy" nie był używany. –

+1

, jeśli chcesz używać nadawcy, niż po prostu wstaw go zamiast wartości zerowej. – cichy

1

czasami zrobić poprzez faktycznie wywołanie funkcji obsługi zdarzeń, to gdybym rzeczywiście wprowadziły go.
Dosłownie nazywają to lubią:

button1_Click(this, new EventArgs()); 
2

Od wewnątrz lub na zewnątrz Form gdzie Button jest? Najprostszą rzeczą jest po prostu wywołanie funkcji:

Button1_Click(Button1, EventArgs.Empty); 
9

Opcja: użyj PerformClick().

Proszę spojrzeć tutaj: How to: Call a Button's Click Event Programmatically.

Zaletą jest to, że zachowanie zdarzenia będzie dokładnie takie samo jak rzeczywiste kliknięcie przycisku (w przeciwieństwie do bezpośredniego wywoływania button1_click).

Ale żadna z tych opcji nie jest najlepszym IMHO. Jeśli potrzebujesz wywołać kod obsługi zdarzenia, potrzebujesz nowej metody! Po prostu przekształć starą button1_click w nową, standardową metodę i wywołaj ją z dowolnego miejsca.

+1

+1: Zawsze zakładałem, że 'PerformClick' jest lepszy od bezpośredniego wywoływania obsługi przycisku, ponieważ platforma wie lepiej niż ty, co jest potrzebne. Odnosi się także do komentarza Ben Voigta o argumencie "nadawcy". – Powerlord

+1

+1 dla refaktora starego button1_click, ma tak wiele sensu – Spooks

Powiązane problemy