• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmienna odnosząca się do przycisku.

0 głosów
212 wizyt
pytanie zadane 12 sierpnia 2018 w C# przez podprogramista1 Początkujący (370 p.)
Witam, czy jest możliwość dodawania metod do zmiennych? Chodzi mi dokładanie o aplikacje w windows forms app (.NET framework) chciałbym dodać możliwość wybierania poszczególnych funkcji programu za pomocą switch'a i zmiennej tylko nie wiem jak ją połączyć z przyciskiem.

2 odpowiedzi

0 głosów
odpowiedź 15 sierpnia 2018 przez DrajzleR Obywatel (1,380 p.)
wybrane 22 sierpnia 2018 przez podprogramista1
 
Najlepsza

Jeśli chodzi o delegaty polecam ten artykuł Delegaty ponieważ ten delegat który zrobiłeś wyżej nie ma prawa działać. Jest źle napisany i zdefiniowany.

Natomiast jeśli chodzi o rozwiązanie problemu to jeśli dobrze zrozumiałem pytanie. To chcesz mieć kilka przycisków które mają ten sam np przy wywołaniu zdarzenia click. Natomiast w zależności od tekstu na przycisku wywoływał się inny kod. Tak?
Można do tego wykorzystać obiekt sender. Przekazywany jako parametr do funkcji.

Przykład:
 

private void button1_Click(object sender, EventArgs e)
        {
            Button button = sender as Button;
            
            switch (button.Text)  // w zależności od wduszonego buttona sender wyśle inny tekst
            {
                case "Jeden":
                    MessageBox.Show("Jestem Jeden"); // działanie którego oczekujesz
                    break;
                case "Dwa":
                    MessageBox.Show("Jestem dwa");  // działanie którego oczekujesz
                    break;
                case "Trzy":
                    MessageBox.Show("Jestem trzy");  // działanie którego oczekujesz
                    break;
                default:
                    break;
            }
        }

Oczywiście można dodać też do tego kodu funkcje sprawdzające czy sender to wgl button itp.

0 głosów
odpowiedź 12 sierpnia 2018 przez velaro Użytkownik (950 p.)
Utworzenie delegata i przypisanie do niego odpowiedniej metody powinno rozwiązać problem
komentarz 12 sierpnia 2018 przez podprogramista1 Początkujący (370 p.)

Tylko jak to zrobić? Chce aby po naciśnięciu przycisku "kalkulator" uruchomił się kod z "case: 1";

Podobne pytania

0 głosów
2 odpowiedzi 4,630 wizyt
pytanie zadane 26 stycznia 2019 w C# przez boniek Nowicjusz (190 p.)
0 głosów
3 odpowiedzi 891 wizyt
pytanie zadane 2 grudnia 2016 w C# przez PejtaM Użytkownik (550 p.)

93,424 zapytań

142,422 odpowiedzi

322,646 komentarzy

62,785 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...