2016-10-04 3 views
-6

(Все сделано в C#) Переменная loggedIn в классе MainWindow не изменится на true? Изменяется label, но переменные не будут. Как я могу это исправить? Спасибо за помощь!Переменная C# не изменится?

MainWindow game = new MainWindow(); 

if(!game.loggedIn) 
{ 
if (tbxUsername.Text != "" && tbxPassword.Text != "") 
    { 
     if(System.IO.File.Exists(System.AppDomain.CurrentDomain.BaseDirectory + "Passwords\\" + tbxUsername.Text + ".txt")) 
     { 
      if(System.IO.File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory + "Passwords\\" + tbxUsername.Text + ".txt") == tbxPassword.Text) 
      { 
       game.loggedIn = true; 
       game.username = tbxUsername.Text; 
       game.password = tbxPassword.Text; 
       lblMessage.Content = "U bent ingelogd als " + game.username + "!"; 
       tbxUsername.Text = ""; 
       tbxPassword.Text = ""; 
      } 
      else 
      { 
       lblMessage.Content = "U heeft een verkeerd password ingegeven!"; 
       tbxUsername.Text = ""; 
       tbxPassword.Text = ""; 
      } 
     } 
     else 
     { 
      lblMessage.Content = "Deze username bestaat niet!"; 
      tbxUsername.Text = ""; 
      tbxPassword.Text = ""; 
     } 
    } 
    else 
    { 
     lblMessage.Content = "U heeft geen password/username ingegeven!"; 
     tbxUsername.Text = ""; 
     tbxPassword.Text = ""; 
    } 
} 
else 
{ 
    lblMessage.Content = "U bent al ingelogd!"; 
} 

}

+0

Что вы имеете в виду по * не изменится *? Вы пытались отладить код? Вы получаете сообщение об ошибке? –

+2

Надеюсь, это не производственный код. Ужасный способ справиться с паролями ... – jeroenh

+2

отладить код. мы не знаем, каковы ваши входы. Пройдите через каждую строку и проверьте фактические значения в зависимости от того, что вы ожидаете. – Jonesopolis

ответ

-2

Не имеет более широкий спектр кода, но я уверен, что проблема заключается в том, что вы инициализировать новый MainWindow каждый раз, когда эта функция называется

+0

спасибо за ответ так быстро! У меня есть еще один вопрос: как изменить переменные из другого класса без инициализации нового MainWindow? Спасибо за помощь! – OPsteffOP

+4

Я бы порекомендовал и/или предложил, чтобы вы немного читали и изучали некоторые основы C#, мы не здесь, чтобы написать ваш код для вашего ужасного подхода @OPsteffOP в отношении проверки паролей. – MethodMan

+0

@OPsteffOP. Я согласен с MethodMan о чтении и учебе. больше, прежде чем отправлять вопросы. Но если уже здесь, возможно, место для начала, для области переменных: [this] (https://msdn.microsoft.com/en-us/library/ms973875.aspx) и [this] (https://msdn.microsoft.com/en-us/library/aa691132(v=vs.71).aspx) –

Смежные вопросы