1. 登錄界面的效果圖
捕獲.PNG
2. 登錄界面實現(xiàn)的功能描述
登陸分為管理員和收銀員,用兩個分別登陸測試其賬號,密碼是否正確,正確登陸成功,錯誤,登陸失敗。
3. 登錄界面各控件的參數(shù)設(shè)置
控件A:Lable
| 屬性 | 值 |
|---|---|
| Lable1 | 用戶類型 |
| Lable2 | 用戶名 |
| Lable3 | 密碼 |
控件B:Button
| 屬性 | 值 |
|---|---|
| Button1 | 登陸 |
| Button2 | 退出 |
控件C:TextBox
| 屬性 | 值 |
|---|---|
| TextBox1 | 空白值(可輸入值) |
| TextBox1 | 空白值(可輸入值) |
控件D:LinkLable
| 屬性 | 值 |
|---|---|
| LinkLable1 | 忘記密碼? |
控件E:ComboBox
| 屬性 | 值 |
|---|---|
| ComboBox1 | 收銀員/庫管員 |
控件F:PictureBox
| 屬性 | 值 |
|---|---|
| PictureBox1 | 圖片 |
4. 重要方法描述
1. 登錄窗口出現(xiàn)在屏幕正中央,并且不能放大縮小
點擊Form1窗口進(jìn)入屬性界面,找到StartPosition并選擇CenterScreen;
找到MaximizeBox、MinmiizeBox設(shè)置為False。
2. 默認(rèn)角色為“收銀員”,并且只允許選擇“收銀員”和“庫管員”兩種角色
private void Form1_Load(object sender, EventArgs e)
{
this.comboBox1.SelectedIndex = 0;
}
在Form1屬性下找到Load事件,雙擊打開,輸入以上代碼;
找到ComboBox1控件并右擊打開編輯項,輸入收銀員,換行輸入庫管員。
3. 用戶名最大長度不超過9個字符,密碼需要替代顯示為“*”號
找到名為“用戶名”的textbox控件,進(jìn)入屬性欄,找到MaxLength并設(shè)置為9;
找到名為“密碼”的textbox控件,進(jìn)入屬性欄,找到PasswordChar并設(shè)置為“*”。
4. 登錄正確則提示成功;登錄失敗則提示錯誤,注意使用錯誤圖標(biāo)
if (comboBox1.Text == "管理員")
if (textBox1.Text == "123456" && textBox2.Text == "2016")
MessageBox.Show("登陸成功", "提示信息");
else
MessageBox.Show("登陸失敗", "提示信息", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
if (comboBox1 .Text == "收銀員")
if (textBox1.Text == "123456" && textBox2.Text == "2015")
MessageBox.Show("登陸成功", "提示信息");
else
MessageBox.Show("登陸失敗", "提示信息",MessageBoxButtons .OKCancel ,MessageBoxIcon.Error );
找到名為“登陸”的button控件,雙擊并輸入以上代碼即可。
5. 點擊“退出”時退出應(yīng)用程序
private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}
找到名為“退出”的Button控件,雙擊并輸入以上代碼即可。
5. 想一想,還有哪些尚需完善的功能
1. 輸入用戶名后回車,光標(biāo)跳轉(zhuǎn)到密碼輸入框(涉及到 KeyPress 事件和 Tab 鍵順序)
在用戶名輸入框中按“回車”,光標(biāo)跳轉(zhuǎn)到密碼輸入框
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
SendKeys.Send("{tab}");
}
}
2. 按 Tab 進(jìn)入輸入框時,自動全選(涉及到 TextBox 的 Enter 事件)
Tab進(jìn)入用戶名輸入框時,自動全選用戶名
private void textBox1_Enter_1(object sender, EventArgs e)
{
((TextBox)sender).SelectAll();
}
Tab進(jìn)入密碼輸入框時,自動全選密碼
private void textBox2_Enter_1(object sender, EventArgs e)
{
((TextBox)sender).SelectAll();
}
3.在密碼框時按enter鍵時自動登陸
if (e.KeyChar == (char)Keys.Enter)
{
button1_Click(sender, e);
}