1
我創建的預訂系統,用戶可註冊並登錄,同時驗證。 的代碼做的是,它具有收集每個用戶創建的帳戶Useraccounts對象的列表。因此,對於註冊和登錄,我將分別爲每個表單。預訂表單將在他們的憑證被驗證時顯示。顯示錶單一次登錄,在
我面臨的問題是,當任何用戶登錄時,我將如何顯示預訂表單一次,同時單擊登錄表單上的登錄按鈕進行驗證?
我給寄存器形式代碼如下所示。
public partial class Register : Form
{
Login_page login;
public Register(Login_page l)
{
InitializeComponent();
login = l;
}
public static List<UserAccount> UserAccounts = new List<UserAccount>();
Login_page lp = new Login_page(UserAccounts);
int count = UserAccounts.Count;
public List<UserAccount> AddUserAccounts()
{
UserAccounts.Add(new UserAccount
{
Name = NameReg.Text,
Username = UsernameReg.Text,
Password = PasswordReg.Text,
Email = EmailReg.Text,
Address = AddressReg.Text,
CardNum = int.Parse(CardNumReg.Text),
PaymentType = PaymentTypeReg.Text
});
MessageBox.Show("Register was successful!");
count++;
return UserAccounts;
}
private void CANAReg_Click_1(object sender, EventArgs e)
{
AddUserAccounts();
}
private void BackButton_Click(object sender, EventArgs e)
{
login.Show();
this.Hide();
}
}
而登錄表單(我在這裏有問題)的代碼如下所示。
public partial class Login_page : Form
{
Register r;
//public List<UserAccount> UserAccounts { get; set; }
public static List<UserAccount> UserAccounts = new List<UserAccount>();
public Login_page(List<UserAccount> UV1)
{
InitializeComponent();
UserAccounts = UV1;
}
public Login_page()
{
InitializeComponent();
r = new Register(this);
}
private void Calculations()
{
for (int i = 0; i< UserAccounts.Count ; i++)
{
if (UsernameLogin.Text.Equals(UserAccounts[i].Username) && PasswordLogin.Text.Equals(UserAccounts[i].Password))
{
Booking bookings = new Booking();
bookings.Show();
this.Hide();
}
else
MessageBox.Show("Please check your username or password");
UsernameLogin.Focus();
}
}
private void Login_Click(object sender, EventArgs e)
{
Calculations();
}
private void CANA_Click_1(object sender, EventArgs e)
{
Register reg = new Register(this);
reg.Show();
this.Hide();
}
}
我在計算部分有問題。我想要的是,當任何用戶點擊登錄按鈕,但同時驗證,預訂表單將不會顯示多次。
我不確定爲什麼您使用的是循環的,但我相信你有一個很好的理由。我提供的解決方案是一旦第一次滿足條件,就把環路「斷開」。 –
因爲我想遍歷列表並驗證用戶的憑據。顯然我認爲很難,因爲哪個用戶帳戶創建首先很重要。例如,即使第二個用戶具有正確的憑證,他們也將無法登錄,因爲他們的用戶帳戶是在列表的第二位創建的。我可否知道這個限制僅限於一個用戶帳戶?如果不是,你有任何解決方案提供?因爲我真的不能想到它,因爲我剛剛學會了C#..預先感謝和新年快樂! @KraangPrime – Sofia
順便說一句,休息有助於停止。但它不能解決我的問題,雖然我知道我想要什麼,但我不知道如何實現它。我嘗試了不同的方法,但仍然沒有工作.. @KraangPrime – Sofia