任务3 主窗体设计ppt课件.ppt
1,任务3 主窗体设计,用户登录成功后,应该出现通讯录程序主窗体。用户通过点击主窗体上的菜单、按钮等,完成对通讯录的管理。,2,主窗体界面,Windows窗体,菜单栏MenuStrip中各菜单项属性设置,属性设置,工具栏ToolStrip中各按钮属性设置,属性设置,窗体间数据传递,5,/新建UserHelper类 :class UserHelper public static string userName = ; / 用户名 public static string password = ; / 密码,6,窗体间数据传递,修改登录代码private void btnLogin_Click(object sender, EventArgs e) if (txtUserName.Text.Trim() = | txtUserPassword.Text.Trim() = ) MessageBox.Show(用户名或密码不能为空!); txtUserName.Focus(); return; string connString = DBHelper.connString; string sqlStr = string.Format(select * from User where UserName=0 and Password=1, txtUserName.Text.Trim(), txtUserPassword.Text.Trim(); using (SqlConnection conn = new SqlConnection(connString) SqlCommand cmd = new SqlCommand(sqlStr, conn); conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() /MessageBox.Show(登录成功!); UserHelper.userName = txtUserName.Text.Trim(); UserHelper.password = txtUserPassword.Text.Trim(); this.Hide(); FormMain f = new FormMain(); f.Show(); else MessageBox.Show(用户名或密码错误,请重新输入!, 错误); txtUserName.Text = ; txtUserPassword.Text = ; txtUserName.Focus(); sdr.Close(); ,蓝色的代码即为我们新补充的代码。把用户名、密码保存到UserHelper类中,然后隐藏登录窗体,显示主窗体。,窗体间数据传递,7,在主窗体上显示用户名 private void FormMain_Load(object sender, EventArgs e) tsslblUserName.Text = 欢迎 + UserHelper.userName + 使用通讯录; tsslblDate.Text = 当前日期:+DateTime.Now.ToLongDateString();,DateTime.Now.ToLongDateString方法用于获取当前日期,项目中其他子窗体,项目中其他子窗体,9,处理菜单项单击事件 (1)“分组列表”菜单项的单击事件代码如下:private void tsmiGroupList_Click(object sender, EventArgs e) FormGroupList f = new FormGroupList(); f.ShowDialog();(2)“增加分组”菜单项的单击事件代码如下:private void tsmiGroupAdd_Click(object sender, EventArgs e) FormGroupAdd f = new FormGroupAdd(); f.ShowDialog();(3)“联系人列表”菜单项的单击事件代码如下:private void tsmiContactList_Click(object sender, EventArgs e) FormContactList frmContact = new FormContactList(); frmContact.ShowDialog(); (4)“增加联系人”菜单项的单击事件代码如下:private void tsmiContactAdd_Click(object sender, EventArgs e) FormContactAdd f = new FormContactAdd(); f.ShowDialog();,单击事件,10,处理菜单项单击事件 (5)“修改密码”菜单项的单击事件代码如下:private void tsmiPwd_Click(object sender, EventArgs e) FormPwdChange f = new FormPwdChange(); f.ShowDialog();(6)“数据库备份与恢复”菜单项的单击事件代码如下:private void tsmiDatabase_Click(object sender, EventArgs e) FormDB f = new FormDB(); f.ShowDialog();(7)“关于”菜单项的单击事件代码如下:private void tsmiAbout_Click(object sender, EventArgs e) FormAbout f = new FormAbout(); f.ShowDialog();,单击事件,11,工具栏按钮单击事件处理,单击事件,12,主窗体FormClosed事件代码 private void FormMain_FormClosed(object sender, FormClosedEventArgs e) Application.Exit();,单击事件,小结,13,在本章中,我们围绕设计并实现通讯录程序的主窗体,学习了窗体间数据传递的方法以及如何创建并调用其他功能模块窗体,设计了整个通讯录程序的框架。在下一节中我们将学习如何设计并实现联系人分组管理,具体包括分组列表显示以及增加、修改、删除分组信息。,独立实践任务,14,1、把判断用户名、密码是否正确的代码封装成方法,供“登录”按钮的单击事件调用。2、完成“毕业生实习与就业跟踪系统”主窗体设计。,