Logowanie do programu

Logowanie do programu
WY
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:134
0

Witam wszystkich,

Jestem nowy w C#, powoli się uczę tego języka, jednak na początku wymyśliłem sobie projekt, który współpracuje z bazą danych MySql.
Chciałbym stworzyć panel logowania do mojego "głównego okna". Stworzyłem więc sobie moje główne okno, dodałem kolejną formę czyli moje okienko do logowania.
I tu pojawia się problem.

Żeby na początku się zalogować ukryłem moje "główne okno" i z paska zadań i z pulpitu, czekając aż delikwent się zaloguje. W procedurze mojej formy do logowania następuje połączenie z bazą danych, sprawdzenie poprawności danych podanych przez użytkownika, jeśli są poprawne okienko powinno się zamknąć i pojawić okno główne, jeśli nie użytkownik otrzymuje komunikat o błędnych danych.

Nie działa to tak jak sobie wymyśliłem, bo w procedurze mojego głównego okna nie wiem czy użytkownik się zalogował czy nie..

Czy jest ktoś w stanie mi podszepnąć jak to rozsądnie rozwiązać? Wrzucę poniżej kod, aczkolwiek nie wiem czy się przyda :)

Procedura okna głównego:

Kopiuj
public partial class Main : Form
    {
        public Main()
        {
            InitializeComponent();

            // Chowanie głównego okna programu
            Opacity = 0.0;
            ShowInTaskbar = false;

            // Stworzenie okna do logowania
            Login loginForm = new Login();
            loginForm.Show();

            // Jeżeli użytkownik się zalogował, pokaż okno
           ????
        }

Pozdrawiam :)

kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:dzień
  • Postów:926
1

Niech okno logowania będzie twoim pierwszym oknem.


Keep calm and blame frontend.
Tell your cat I said pspsps.
JP
  • Rejestracja:ponad 7 lat
  • Ostatnio:5 miesięcy
  • Postów:1065
1

Samo okno logowania możesz uruchomić np. w Program.cs przed run(New MainWindow()); i niech okno logowania zwraca info o poprawnym zalogowaniu.
W MDI bi jak mas jakoes normalne menu to możesz zablokować menu poza przyciskiem zalogowania i jak ktoś się zaloguje to ustawiasz enabled w przyciskami menu.

WY
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 3 lata
  • Postów:134
0
jacek.placek napisał(a):

Samo okno logowania możesz uruchomić np. w Program.cs przed run(New MainWindow()); i niech okno logowania zwraca info o poprawnym zalogowaniu.
W MDI bi jak mas jakoes normalne menu to możesz zablokować menu poza przyciskiem zalogowania i jak ktoś się zaloguje to ustawiasz enabled w przyciskami menu.

Jak zrobić by okno zwracało jakąś wartość?
Próbowałem też takich rzeczy jak w WinApi typu c if(loginForm == NULL) jednak w tutaj to tak nie działa.

Jeżeli okno logowania będzie moim pierwszym oknem, również do drugiego okna chcę jakoś przekazać informację o tym jaki użytkownik jest zalogowany.
Także jak zwrócić jakąś wartość podczas zamykania okna?

JP
  • Rejestracja:ponad 7 lat
  • Ostatnio:5 miesięcy
  • Postów:1065
1

Okno może zwrócić DialogResult.

WY
Dzięki :) I w procedurze w której jest wywołane po prostu => if(loginForm.DialogResult == true) { //... } tak?
JP
form1.DialogResult == DialogResult.OK
JP
Wygooglaj sobie kilka przykładów
kzkzg
  • Rejestracja:ponad 8 lat
  • Ostatnio:dzień
  • Postów:926
1

Napisz sobie konstruktor do głównego forma który będzie jako parametr przyjmował string/id zalogowanego użytkownika i wywołuj ten konstruktor z forma logowania zamiast konstruktora bezparametrowego.


Keep calm and blame frontend.
Tell your cat I said pspsps.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.