Skocz do zawartości

[c#] Bezwzględne zamknięcie całej aplikacji


Rekomendowane odpowiedzi

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

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

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

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...