[c# VS] zamkniecie glownej formatki

Witam, gdzie mozna ustawic w VS aby zamkniecie glownej formatki nie zamykalo programy, tylko aby program wylaczal sie po zamknieciu wszystkich okien? nertos

Odpowiedzi: 5

Najlepiej umieścić ten kawałek kodu w procedurze obsługi zamykania okna głównego, czyli albo w _FormClosed, albo (jeszcze lepiej) w _FormClosing. Co robi? Sprawdza ile aplikacja ma otwartych form: int openFormsCount = Application.OpenForms.Count; a potem w pętli (dla pewności pętla zrobiona jest od końca) zamyka każde z tych okien: Application.OpenForms[i].Close(); Czemu w pętli for i czemu od końca? Bo kolekcja, po której się iteruje z każdym przebiegiem się zmienia. Nie sprawdzałem jednej rzeczy - co się dzieje, gdy któreś z tych OpenFormsów ma jakąś obsługę _FormClosing albo _FormClosed. pozdrawiaMM
Marcin_Miga
Dodano
27.11.2009 09:12:12
Czy mógłbym prosi o jakiś opis do tego kodu? Gdzie należy go umieścic i co on robi?
nertos
Dodano
26.11.2009 18:15:20
[code] int openFormsCount = Application.OpenForms.Count; for (int i = openFormsCount; i == 0; i--) { Application.OpenForms[i].Close(); }[/code]
Marcin_Miga
Dodano
26.11.2009 13:40:47
@Cyber Phantom krotko mowiac potrzebuje to aby po uruchomieniu projektu i kliknieciu przcisku zamknelo sie poprzednie okno, a gdy zrobie po prostu Close to zamknie sie caly projekt, Hide tez nie wchodzi w gre
nertos
Dodano
26.11.2009 11:02:36
Nie wiem czy oto chodzi... w SharpDevelop C# robi się to tak... Żeby główna formatka się nie zamknęła po naciśnięciu X [code]private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { e.Cancel = true; Hide(); } }[/code] Żeby program zamknął się po zamknięciu wszystkich formatek :-k To bym musiał sprawdzić bo jakoś nie było mi to potrzebne...
Cyber Phantom
Dodano
26.11.2009 08:50:12
nertos
Dodano:
26.11.2009 01:03:32
Komentarzy:
5
Strona 1 / 1