2015-03-12 2 views
0

Я попытался получить код ниже, но безрезультатно.KeyPressed в текстовом поле не работает

Мне нужно сделать окно входа в систему и за исключением кнопки Log in, которую я хочу, нажав клавишу Enter в текстовом поле пароля, результат будет таким же. C# 2010.

private void button1_Click(object sender, EventArgs e) 
     { 
      int ok=0; 
      if (textBox1.Text == "administrator" && textBox2.Text == "administrator") 
      { 
       ok = 1; 
       this.Hide(); 
       Admin admin = new Admin(); 
       admin.ShowDialog(); 
      } 
      if (textBox1.Text == "jucator" && textBox2.Text == "jucator") 
      { 
       ok = 1; 
       this.Hide(); 
      } 
      if (ok == 0) 
      { 
       label2.Text = "nume user sau parola incorecta"; 
       label2.Visible = true; 
      } 

     } 
     private void textBox2_KeyDown(object sender, KeyEventArgs e) 
     { 
      if (e.KeyCode == Keys.Enter) 
      { 
       button1_Click(this, new EventArgs()); 
      } 
     } 

ответ

-1

Вы должны использовать KeyUpсобытие Это более надежный в вас случае. Затем проверьте нажатую клавишу. например:

private void textBox2_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.Key == Key.Enter) 
     { 
      //DoLogin... in your case it would be 
      button1_Click(null,null); 
      e.Handled = true; 
     } 
     else 
     { 
      e.Handled = false; 
     } 
    } 

На стороне записки: Я действительно препятствовать вам использовать это Войти метод сравнения строк до закодированных строк действительно отходов, там уже лучшие сценарии специально в где у вас несколько пользователей Иначе зачем вам вводить логин?

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