在登录界面可以在下拉框控件选择操作员的名称,根据操作员的名称输入相对应的密码进行登录,如果输入密码不正确系统将会自动提示你密码输入错误,然后清空密码的文本框,让用户重新输入。界面如图(2.1-1)所示
从界面上可以看到的控件有
控件名称 |
说明 |
下拉框(comboBox) |
控件可以在工具箱直接拖动至窗体,拖至窗体后右击属性可以修改控件的样式和各种属性,还可以编辑事件。 |
文本框(textBox) |
|
按钮(button) |
第一步:登录功能实现
1、表与关系
图(2.1-2)
dbo.TheOperatorTable
Primary Key(s): 操作员表 TheOperatorID
列名 |
数据类型 |
主键/外键 |
说明 |
TheOperatorID |
int - Identity |
主键 |
操作员ID |
TheOperatorCode |
nchar (20) |
外键 |
操作员编码 |
TheOperatorTypeID |
int |
外键 |
操作类型ID |
TheOperatorTypeName |
nchar (30) |
外键 |
操作员全名 |
Call |
nchar (10) |
外键 |
称呼 |
Note |
nchar (30) |
外键 |
备注 |
DepartmentID |
int |
外键 |
部门ID |
ContactAddress |
nchar (20) |
外键 |
联系地址 |
ContactPhoneNumber |
nchar (20) |
外键 |
联系电话 |
|
nchar (20) |
外键 |
|
Password |
nchar (10) |
外键 |
密码 |
Pictures |
image |
外键 |
图片 |
OperationTypeID |
int |
外键 |
操作类型ID |
2绑定下拉框
第一步:数据库存储过程
if(@Type='frm_Login_BingDingcbo_Operator')--绑定操作员
begin SELECT LTRIM(rtrim( TheOperatorID)) as TheOperatorID, ltrim(rtrim(TheOperatorTypeName)) as TheOperatorTypeName
FROM TheOperatorTable
End
第二步:服务端代码
DALPublic.DALMethod myDALMethod = new DALPublic.DALMethod();
[OperationContract]
public DataSet frm_Login_BingDingcbo_Operator()//绑定操作员
{
SqlParameter[] SQlCMDpas = {
new SqlParameter("@Type", SqlDbType.Char)
};
SQlCMDpas[0].Value = "frm_Login_BingDingcbo_Operator";
DataTable dt = myDALMethod.QueryDataTable("frm_Login", SQlCMDpas);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}
第三步:界面层代码
在登录窗口的Load事件
private void frm_Login_Load(object sender, EventArgs e)
{
this.TopMost = true; //设置顶级窗体
cbo_Operator.DataSource=myfrm_LoginClient.frm_Login_BingDingcbo_Operator().Tables[0];//绑定操作员下拉框
cbo_Operator.DisplayMember = "TheOperatorTypeName";
cbo_Operator.ValueMember = "TheOperatorID";
}
3登录功能实现
图(2.1-3)
第一步:数据库存储过程
if(@Type='frm_Login_SelectTheOperatorTable')--登录时使用操作员与密码
begin
SELECT TheOperatorID AS 操作员ID, TheOperatorTypeName AS 操作员名称, Password AS 密码
FROM TheOperatorTable
where (TheOperatorTypeName=@TheOperatorTypeName )and (Password=@Password)
End
第二步:服务端代码
[OperationContract]
public DataSet frm_Login_SelectTheOperatorTable(string TheOperatorTypeName, string Password)//登录时使用操作员与密码
{
SqlParameter[] SQlCMDpas = {
new SqlParameter("@Type", SqlDbType.Char),
new SqlParameter("@TheOperatorTypeName",SqlDbType.NChar),
new SqlParameter("@Password",SqlDbType.NChar),
};
SQlCMDpas[0].Value = "frm_Login_SelectTheOperatorTable";
SQlCMDpas[1].Value = TheOperatorTypeName;
SQlCMDpas[2].Value = Password;
DataTable dt = myDALMethod.QueryDataTable("frm_Login", SQlCMDpas);
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}
第三步:界面层代码
登录按钮的单击事件
private void btn_Login_Click(object sender, EventArgs e)
{
PublicStaticFields.intOperatorID = Convert.ToInt32(cbo_Operator.SelectedValue.ToString().Trim());//获取下拉框的值
PublicStaticFields.strOperatorName = cbo_Operator.Text;//获取操作员名字
string strPassword = txt_Password.Text;//获取文本框密码
if (txt_Password.Text == "")//如果密码为空
{
MessageBox.Show("请输入密码。");//弹出窗口提示“请输入密码”
return;//返回
}
if (myfrm_LoginClient.frm_Login_SelectTheOperatorTable(PublicStaticFields.strOperatorName, strPassword).Tables[0].Rows.Count == 1)//如果登录人与密码一致
{
this.Hide();//隐藏登录窗口
PublicStaticForm.pubMain = new frm_Main();//实例化窗口
PublicStaticForm.pubMain.ShowDialog();//显示主界面
}
else
{
MessageBox.Show("密码错误,请重新输入。");//弹出窗口提示密码错误
txt_Password.Text = "";//清空密码
txt_Password.Focus();//设置焦点
}
}
4取消按钮功能实现
取消按钮单击事件
private void btn_Cancel_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("是否退出系统?", "系统提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);//弹出提示框
if (result == DialogResult.Yes)//返回是
{
this.Dispose();//释放资源
this.Close();//关闭窗口
Application.Exit();//停止程序
}
}
仅供学习,禁止用于商业用途,违者后果自负。