Po pierwszę, zapomniałam Państwu złożyć życzeń świątecznych! Życzę Państwu, spokojnych i radosnych świąt, pełnych dobrego jedzenia i odpoczynku, wspaniałej zabawy sylwestrowej i żeby przyszły rok zaczął się od bezporblemowo zdanej sesji oraz żeby prace licencjackie pisały się praktycznie same, a promotorzy byli łaskawi i sprawdzili prace terminowo ;) Multiform Oczywiśćie wszystko zaczęło działać po ponownym uruchomieniu Visuala w domu. 1. Dodajemy nowe okno przez kliknięcie Project>>Add New Item>> Windows Form. Dodanie linijki >Application.Run(new Form2()); < w pliku Program.cs skutkuje sekwencyjnym wywołaniem okien. 2. Show, Hide, Close Chcąć wyświetlić nowe okno np. przez kliknięcie na przycisk w Form1, używamy polecenia Show(); polecenie ShowDialog(); powoduje otwarcie okna z wywłaszczeniem - nie da się korzystać z poprzedniego okna bez zakmnięcia otworzonego. przykład: private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); } polecenie Close(); zamyka okno. Polecenie Hide(); ukrywa okno, lecz ciągle obiekt jest obecny i wszystkie zmienne itp. są zachowane. Straszny kod który pokonał mnie na zajęciach.... cały czas chodziło o 1 linijkę.... Wersja z zamykaniem: W Form1: private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); form2.Show(); } W Form2: private void Form2_FormClosing(object sender, FormClosingEventArgs e) { this.Close(); } Wersja z ukrywaniem i ponownym wyświetlaniem: W Form1: Form2 form2 = new Form2(); private void button1_Click(object sender, EventArgs e) { if (form2 == null) form2 = new Form2(); form2.Show(); } W Form2: private void Form2_FormClosing(object sender, FormClosingEventArgs e) { this.Hide(); e.Cancel = true; //to jest poprawny sposób zakończenia eventu zamykania okna. Kolokwialnie mówiąc linijka ta potwierdza programowi że ma wykonać ukrycie okna, a nie je zamknąć ale że ma się zachowywać jak przy zamknięciu (przycisk x działa) przy Close nie jest potrzebne, bo tam zamyka i już. }