1. 登录界面的效果图

图片
2. 登录界面实现的功能描述
具体要求:
1. 登录窗口出现在屏幕正中央,并且不能放大缩小
2. 默认角色为“收银员”,并且只允许选择“收银员”和“库管员”两种角色
3. 用户名最大长度不超过9个字符,密码需要显示为“*”号
4. 登录正确则提示成功;登录失败则提示错误,注意使用错误图标
5. 点击“退出”时退出应用程序
加分项:
1. 输入用户名后回车,光标跳转到密码输入框(涉及到 KeyPress 事件和 Tab 键顺序)
2. 输入密码后回车,则直接登录(涉及到 TextBox 的 KeyPress 事件)
3. 按 Tab 进入输入框时,自动全选(涉及到 TextBox 的 Enter 事件)
3. 登录界面各控件的参数设置
控件Label
属性 |
值 |
text |
用户类型,用户名,密码 |
Font |
字体 |
控件textBox
属性 |
值 |
MaxLength |
9 |
PasswordChar |
* |
控件ComboBox
属性 |
值 |
DropDownStyle |
DropDownList |
控件Button
控件PictureBox
属性 |
值 |
sizeMode |
Strechlmage |
控件LinkLabel
4. 重要方法描述
1.窗口加载时,设置默认角色为“收银员”
private void LoginForm_Load(object sender, EventArgs e)
{
this.cbb_Type.SelectedIndex = 0;
}
2.点击“登录”按钮则登录系统
private void bt_Login_Click(object sender, EventArgs e)
{
if (this.cbb_Type.SelectedItem.ToString() == "收银员")
{
if (this.tb_User.Text == "123456" && this.tb_Password.Text == "123456")
{
MessageBox.Show("收银员登录成功");
}
else
{
MessageBox.Show("用户名或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
if (this.cbb_Type.SelectedItem.ToString() == "库管员")
{
if (this.tb_User.Text == "admin" && this.tb_Password.Text == "admin")
{
MessageBox.Show("库管员登录成功");
}
else
{
MessageBox.Show("用户名或密码错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
3.点击“退出”按钮则退出应用程序
private void bt_Exit_Click(object sender, EventArgs e)
{
Application.Exit();
}
4.在用户名输入框中按“回车”,光标跳转到密码输入框
private void tb_User_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
SendKeys.Send("{tab}");
}
}
5.在密码输入框中按“回车”,则直接登录
private void tb_Password_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
this.bt_Login_Click(sender, e);
}
}
6.Tab进入用户名输入框时,自动全选用户名
private void tb_User_Enter(object sender, EventArgs e)
{
((TextBox)sender).SelectAll();
}
7.Tab进入密码输入框时,自动全选密码
private void tb_Password_Enter(object sender, EventArgs e)
{
((TextBox)sender).SelectAll();
}
5.还有哪些尚需完善的功能
比如说,登录界面允许放大后,界面自适应;连接数据库完成登录;等等。