1.登錄界面最終效果圖
庫管員登錄失敗
收銀員登錄失敗
庫管員登錄成功
收銀員登錄成功
2.登錄界面中涉及到的控件以及控件的重要屬性瓷胧,方法
控件 | 重要屬性 | 方法 |
---|---|---|
Lable | Text | 修改顯示的文本 |
Button | Text | 修改顯示的文本 |
TextBox | MaxLength聂示、MultiLine俊马、PasswordChar呆瞻、ReadOnly峭范、ScrollBars | 可輸入最大字符數(shù)萝嘁、是否可以多行顯示梆掸、輸入密碼顯示字符、是否為只讀牙言、是否顯示滾動條 |
LinkLable | Text | 修改顯示的文本 |
PictureBox | Image酸钦、SizeMode | 圖片框中顯示的圖片、控制圖片框顯示圖片的位置 |
3.登錄界面版本更迭
-
第一代:登陸界面用戶類型通過控件ComboBox默認為收銀員登錄咱枉,庫管員登錄時需要進行修改卑硫。如不進行修改則無法登錄,并提示出錯蚕断。
第一代登錄界面 -
第二代:刪除控件ComboBox欢伏,取消用戶類型的選擇,可以直接輸入用戶名和密碼登錄亿乳,系統(tǒng)自動識別為哪類用戶登錄硝拧。增加一個LinkLable,實現(xiàn)注冊新用戶功能葛假。
第二代登錄界面 更迭效果:第二代相較第一代更加方便快捷河爹,可以更方便用戶的管理和使用。
4.重要代碼片段
-
創(chuàng)建目標窗體對象桐款。
被調(diào)用的窗體類名 窗體對象名=new 被調(diào)用的窗體類名()咸这;
顯示目標窗體(通過調(diào)用窗體相應的顯示方法實現(xiàn))。
窗體對象名.Show()魔眨;或者窗體對象名.ShowDialog()媳维;
- 隱藏或關(guān)閉源窗體。如果目標窗體顯示后遏暴,可能需要同時隱藏或者關(guān)閉源窗體:
隱藏當前窗體:this.Hide()侄刽;
關(guān)閉當前窗體:this.Close();
{
// 顯示收銀員主界面
MainFormUser formUser = new MainFormUser();
formUser.Show();
// 隱藏登錄界面
this.Hide();
}
{
MessageBox.Show("商品信息修改成功");
this.Close();
}
- 消息框
//顯示消息對話框
MessageBox.Show
(
string text, //要顯示的文本
string caption, //要顯示的標題欄文本,可選
MessageBoxButtons buttons, //要顯示哪些按鈕,可選
MessageBoxIcon icon //要顯示哪個圖標,可選
)
- 連接數(shù)據(jù)庫
String connStr = ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connStr);
try
{
// 連接數(shù)據(jù)庫
sqlConn.Open();
}
- 構(gòu)造命令發(fā)送給數(shù)據(jù)庫和讀取數(shù)據(jù)庫
String sqlStr = "select * from EMPLOYEE where ID=@id and PASSWORD=@pwd";
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
cmd.Parameters.Add(new SqlParameter("@id", this.tb_User.Text.Trim()));
cmd.Parameters.Add(new SqlParameter("@pwd", this.tb_Password.Text.Trim()));
SqlDataReader dr = cmd.ExecuteReader();
- 從數(shù)據(jù)庫查詢到記錄后,登錄代碼
// 如果從數(shù)據(jù)庫中查詢到記錄朋凉,則表示可以登錄
if (dr.HasRows)
{
dr.Read();
UserInfo.userId = int.Parse(dr["ID"].ToString());
UserInfo.userName = dr["NAME"].ToString();
UserInfo.userPwd = dr["PASSWORD"].ToString();
UserInfo.userType = dr["TYPE"].ToString();
UserInfo.userPhone = dr["PHONE"].ToString();
MessageBox.Show(UserInfo.userType + "登錄成功");
if (UserInfo.userType == "收銀員")
{
// 顯示收銀員主界面
MainFormUser formUser = new MainFormUser();
formUser.Show();
// 隱藏登錄界面
this.Hide();
}
if (UserInfo.userType == "庫管員")
{
// 顯示庫管員主界面
MainFormAdmin formAdmin = new MainFormAdmin();
formAdmin.Show();
// 隱藏登錄界面
this.Hide();
}
}
else
{
MessageBox.Show("用戶名或密碼錯誤", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}