2017-02-18 17 views
0

привет с ним мог бы вы помочь мне, пожалуйста .. У меня есть код на мои окна формы приложения с помощью Visual Studio сообщества 2015 У меня есть TextBox это имя имя пользователя другое пароль и последний логин если пользователь хочет войти в систему, и он получит дерево, то здесь возникает ошибка. Я хочу, чтобы он автоматически отображал забытый пароль и как восстановить пароль, если пользователь когда он или она заходят в форму. прежде чем я перейду к своей форме базы данных, я понятия не имею, что вы можете помочь и объяснить, как это сделать.Как показать пароль форму восстановления после того, как пользователь вводит неверные учетные данные в три раза

вот мой код

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace SQLSERVER_VISUALSTUDIO_COMMUNITY 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      txt_Password.PasswordChar = '*'; 
     } 

     private void txt_login_Click(object sender, EventArgs e) 
     { 
      if (txt_USername.Text == "" && txt_Password.Text == "") 
      { 
       MessageBox.Show("Please enter your password and user_name"); 
       txt_USername.Clear(); 
       txt_Password.Clear(); 
      } 
      else if (txt_USername.Text == "jondygonzales" && txt_Password.Text == "sharkwebcaster") 
      { 
       MessageBox.Show("successfully log_in"); 
       Form1 f = new Form1(); 
       f.Show(); 
       Form2 main = new Form2(); 
       main.Show(); 
       this.Hide(); 
      } 
     } 
    } 
} 
+0

Какой именно код ошибки вы получаете? –

+0

@AidenGrossman спасибо .. У меня нет ошибки, но я хочу показать забытый пароль, если пользователь ошибается в дереве при входе в форму. – Sharkweb

ответ

0

Что вам нужно сделать, это сохранить счетчик, который вы увеличится на один, когда имя пользователя и пароль не действительны.

Вы проверяете это значение переменной и, когда оно достигает 3, вы показываете пользователю форму восстановления пароля.

public partial class Form1 : Form 
{ 
    int loginAttemps = 0; 
    public Form1() 
    { 
     InitializeComponent(); 
     txt_Password.PasswordChar = '*'; 
    } 

    private void txt_login_Click(object sender, EventArgs e) 
    { 
     if (txt_USername.Text == "" && txt_Password.Text == "") 
     { 
      MessageBox.Show("Please enter your password and user_name"); 
      txt_USername.Clear(); 
      txt_Password.Clear(); 
     } 
     else if (txt_USername.Text == "jondygonzales" && txt_Password.Text == "sharkwebcaster") 
     { 
      loginAttempts = 0; 
      MessageBox.Show("successfully log_in"); 
      Form1 f = new Form1(); 
      f.Show(); 
      Form2 main = new Form2(); 
      main.Show(); 
      this.Hide(); 
     } 
     else 
     { 
      loginAttempts += 1; 

      if(loginAttemps == 3) 
      { 
       RecoveryForm recForm = new RecoveryForm(); // You need to use correct Form here. 
       recForm.Show(); 
       this.Hide(); 
      } 
     } 
    } 
} 
+0

Благодарим вас за ответ. поэтому нужно только поставить условие, которое будет принадлежать else, если от имени пользователя и пароля – Sharkweb

+0

Я исправил код в ответ, чтобы сделать его более логичным. Последним блоком 'else' является тот, который вам нужно добавить помимо введения новой переменной' loginAttempts' –

+0

, что использует loginAttempts + = 1; – Sharkweb