Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C# winForms - Przesłanie zdarzenia między Formamami

27 Lis 2015 17:50 501 4
  • Warunkowo odblokowany
    Czy można między Form a Form2 przesłać zdarzenie Form2.Close ?
    Chciałbym użyć w Form warunku : Jeżeli zamykamy Form2 {// i tu sobie coś robię }

    Kwestia czy się tak da i ew. jak ?
  • Computer Controls
  • Pomocny post
    Poziom 32  
    Kod: csharp
    Zaloguj się, aby zobaczyć kod
  • Computer Controls
  • Pomocny post
    Poziom 20  
    -psiak- napisał:
    Kod: csharp
    Zaloguj się, aby zobaczyć kod



    czemu znowu naokoło :?:
    Przecież wystarczy z poziomu klikowego edytora (no tego, co się ustawia buttony i inne obiekty z toolbox), wybrać całą formę, i na niej dać ikonkę błyskawicy i tam są zdarzenia. Klikniesz dwa razy w pole OnClosed czy coś i od razu masz gotową funkcję :!: Tak jest prościej i przyjaźniej.

    Co do przekazywania - mozesz przez konstruktor, tzn. dopisać do niego parametry.
    Dopisuje się je między nawiasy, np:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    zamienisz na

    Kod: c
    Zaloguj się, aby zobaczyć kod

    I w ten sposób np. możesz pamiętać skąd utworzyłeś które okno :!:
  • Pomocny post
    Poziom 32  
    @Rezystoreczek, to nie jest naokoło zaś wprost.
    To ty proponujesz naokoło.
    1. Do konstruktora Form2 musisz przekazać obiekt Form1
    2. Do Form2 musisz dodać składową Form1 Frm
    3. W konstruktorze Form2 musisz przypisać składowej Frm - parametr konstruktora
    4. Do Form2 musisz dodać metodę Form_Closed reagującą na OnClosed
    5. W Form1 musisz zrobić metodę Form2_Closed publiczną
    6. W Form2.Form_Closed musisz wywołać Frm.Form2_Closed()
    i to wszystko zamiast jednej jedynej linijki: frm.FormClosed += new FormClosedEventHandler(Form2_Closed); ?
  • Warunkowo odblokowany
    Dobra wykorzystałem to co dał psiak ;)

    Koniec tej kłotni :)