Komunikacja między oknami

0

Witam. Właśnie zaczynam zabawę z C#.
Stworzyłem nowy projekt oraz drugie okienko (Form2). Na pierwszej formie (Form1) mam button i po kliknięciu na pojawić się Form2. Więc napisałem Form2 x = new Form2(); w publicznej klasie Form1 a w procedurze Click buttona wpisałem x.Show(); i wszystko działa bo po kliknięciu pojawia się drugie okienko. Problem w tym, że jak zamknę to okienko a potem znowu kliknę buttona to wywala jakiś wyjątek (bo okno zostało zniszczone). Dlaczego po zamknięciu drugiego okna jest ono niszczone a nie ukrywane? Przynajmniej tak to rozumiem, a jeżeli jest inaczej to proszę o objaśnienie.

Przy okazji jeszcze jedno pytanie. W jaki sposób deklarować zmienne tak aby były dostępne z każdego okna programu?

0

Dodaj do projektu drugie okno za pomocą Add... aby go widzieć i mieć możliwość jego edytowania.
potem dopisujesz:


class Form2
{
   Form1 f1;//w f1 masz dostep do wszytskich publicznych elementów formy 1
   public Form2(Form1 f1)
   {
    this.f1=f1;
    }

}
class Form1
{
     Form2 f2;
     void butnClick()
     {
          if(f2==null)
                f2=new Form2(this);
      
          f2.show();
      }
   
}

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