C#.NET - własna metoda obsługująca zdarzenie

0

Cześć

Chciałbym zapytać się was o własną metodę, która ma wykonać się podczas gdy na button najedzie się myszką w własnym GUI. Przycisków ma być 3 i nie warto tworzyć 3 eventów a chce 1 do 3 buttonów. Czy mogę prosić o wskazówki?

Pozdrawiam

1
button1.MouseOver += MouseOverHandler;
button2.MouseOver += MouseOverHandler;
button3.MouseOver += MouseOverHandler; 

lub w designerze tam gdzie masz eventy w comboboxie wybierasz dla każdego buttona ten sam handler.

0
dam1an napisał(a):
button1.MouseOver += MauseOverHandler;
button2.MouseOver += MauseOverHandler;
button3.MouseOver += MauseOverHandler; 

lub w designerze tam gdzie masz eventy w comboboxie wybierasz dla każdego buttona ten sam handler.

Designer jest przereklamowany lepiej ręcznie napisać.

0

Dzięki

A, jak mogę rozpoznać, który z buttonów dostał zdarzenie?

2
MouseOverHandler(object sender, EventArgs e) //sender to to obiekt który wywołał zdarzenie
{
    Button btn = sender as Button;//i masz swój button
}
0

Dziękuje

A tak właściwie to jakie są standardy tworzenia całego programu? Pisze się raczej GUI + eventy ręcznie czy poprzez designer? Czy macie jakąś stronę godną polecenia aby o tym poczytać?

2

Ja bym to robił w designerze, nie wiem skąd u @Riw ten uraz. Ewentualnie jak chcesz o czymś poczytać to o MVP.

3

Designer jest dobry, a kiedyś był jeszcze lepszy.
Mam tu na myśli sytuację, w której chcemy usunąć handler ze zdarzenia.

Zazwyczaj po prostu kasowałem metodę, a potem wchodziłem do designera wyczyścić pole z nazwą tej metody.
Niestety, od którejś wersji (2012?) nie można tego robić w tej kolejności, bo designer przy otwarciu bardzo się obraża że brakuje mu tej metody i wyświetla głupi komunikat, zamiast pozwolić naprawić - i trzeba się ręcznie przekopywać przez wygenerowany kod. Zmiana na minus.

1 użytkowników online, w tym zalogowanych: 0, gości: 1