MaxGaming Opublikowano 4 Września 2016 Udostępnij Opublikowano 4 Września 2016 Mam taki kod z klasie myFunctions: if (File.Exists(@"Langs.ini")) { //kod } else { MessageBox.Show("Langouge file not found!"); Application.Exit(); return LangArray; } W głównej klasie wywołuje tą funkcję: public BriefingForm() { InitializeComponent(); #region Wczytaj ustawienia językowe Lang = myFunctionsClass.LoadLanguageSetting(); LangArray = myFunctionsClass.LoadLanguageFile(Lang); #endregion buttonSkip.Text = LangArray[0001]; buttonPrevious.Text = LangArray[0002]; buttonNext.Text = LangArray[0003]; GetStep(Step); } Problem jest taki, że Application.Exit() który bezwzględnie powinien zamknąć całą aplikację w cholerę(mam nadzieję, że "w cholerę" nie narusza cenzury forum i za to nie dostanę warna) nie wiele robi. Z tego co googluje to może być wina tego że dalej wykonuje się jakiś kod. Tylko nie mam pomysłu jak to rozwiązać za bardzo :/ Próbowałem też jako zerowy element tablicy zwracać "false", lub "true"(oczywiście też jako stringi) i dalej w programie na podstawie tego wykonywać Application.Exit() już z poziomu BriefingForm i dodać return; bo coś wyczytałem gdzieś, że return pomaga, ale też daje taki sam efekt. Jak zamknąć bezwzględnie całą aplikację(nie tylko konkretną formatkę jak to robi Close()), gdy nie znajdzie tego pliku program? @e: podobny mam problem w takiej sytuacji z Application.Restart(): ChooseLangForm iChooseLangForm = new ChooseLangForm(); iChooseLangForm.Show(); if (iChooseLangForm.DialogResult == DialogResult.OK) { InterfaceSetLanguage(); Application.Restart(); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Danielus Opublikowano 4 Września 2016 Udostępnij Opublikowano 4 Września 2016 Jak już wklejasz kod to wkleiłbyś cały kontekst. Wywołujesz 2 metody z myFunctionsClass i ich nie pokazujesz. Jeśli nie masz nic udziwnionego z dodatkowymi wątkami to Aplication.Exit() powinno Ci zamknąć aplikację bez problemu. Spróbuj zamiast zamykać aplikacje z myFunctionsClass zwrócić nulla albo rzucić wyjątek i odebrać to w BriefingForm() i wtedy zamknąć aplikację. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MaxGaming Opublikowano 4 Września 2016 Autor Udostępnij Opublikowano 4 Września 2016 Jak już wklejasz kod to wkleiłbyś cały kontekst. Wywołujesz 2 metody z myFunctionsClass i ich nie pokazujesz. Jeśli nie masz nic udziwnionego z dodatkowymi wątkami to Aplication.Exit() powinno Ci zamknąć aplikację bez problemu. Podeślę Ci jutro w takim razie cały projekt na PW i zobaczysz sam co i jak dokładnie :) Spróbuj zamiast zamykać aplikacje z myFunctionsClass zwrócić nulla albo rzucić wyjątek i odebrać to w BriefingForm() i wtedy zamknąć aplikację. Próbowałem i z poziomu tej klasy formatki to samo. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Konrad-GM Opublikowano 7 Września 2016 Udostępnij Opublikowano 7 Września 2016 Application.Exit wysyła sygnał o zamknięciu aplikacji do wszystkich okienek, więc musisz obsłużyć ten sygnał i zamknąć program wraz ze wszystkimi wątkami. Ewentualnie zabić proces poprzez Environment.Exit. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się