C# Operacje na formach

0

Witam ;)

     Piszę właśnie aplikację która loguje się do systemu internetowego. Na początku jest ładowana forma logowania - "LoginForm" tam następuje stworzenie silnika i weryfikacja logowania. Po udanym logowaniu formatka się chowa a następnie wywoływana jest forma główna "MainForm" z przekazaniem parametrem obiektu silnika i formy "LoginForm".
MainForm form1 = new MainForm(engine, this);
                form1.Show();
                this.Hide();

Formę główną zaopatrzyłem w przycisk wyloguj gdy w razie czego można by było zalogować się na kogoś innego. I tu jest całe ale... jak to zrobić? Chciałbym aby po naciśnięciu krzyżyka cała aplikacja się zamykała a po naciśnięciu Wyloguj żeby MainForm się zamykała(niszcząc wszelkie zasoby gdyż pojedyncza sesja zajmuje trochę zasobów). Próbowałem na różne sposoby, przy evencie MainForm_FormClosing wywoływałem funkcje formalogowania.Close(); ale wtedy po naciśnięciu Wyloguj cała aplikacja się zamyka.

0

hmmm, sensowniej byloby gdyby to mainform uruchamialo sie jako glowna forma i jesli jej potrzeba zweryfikowac usera, to pokazuje mu loginForm
mozesz tez zmodyfikowac miejsce gdzie jest wywolywane Application.Run (standardowo generuje sie w Program.cs) i tam po Application.Run (w twoim przypadku zamkniecie formalogowania) dokonac ponownego uruchomienia tej formy
zeby oczyscic troche pamiec mozesz jawnie odpalic garbage collectior (GC.Collect), nie wiem co masz na mysli piszac zasoby? jesli masz pootwierane jakies gnizda, pliki etc. lepiej zamknac je recznie

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