基于net的聊天工具的设计与实现内容摘要:

登录按钮事件处理 private void btnLogin_Click(object sender, EventArgs e) { bool error = false。 // 标志在执行数据库操作的过程中是否出错 // 如果输入验证成功,就验证身份,并转到相应的窗体 if (ValidateInput()) { int num = 0。 // 数据库操作结果 try { // 查询用的 sql语句 string sql = (SELECT COUNT(*) FROM Users WHERE Id={0} AND LoginPwd = 39。 {1}39。 , (()), ())。 // 创建 Command 对象 SqlCommand mand = new SqlCommand(sql, )。 ()。 // 打开数据库连接 num = (())。 } catch (Exception ex) { error = true。 ()。 } finally { ()。 // 关闭数据库连接 } if (!error amp。 amp。 (num == 1)) // 验证通过 { // 设置登录的用户号码 = (())。 // 创建主窗体 MainForm mainForm = new MainForm()。 ()。 // 显示窗体 = false。 // 当前窗体不可见 } else { (输入的用户名或密码有误。 , 登录提示 , , )。 } }} XXXXXX 毕毕 业业 设设 计计 11 注册界面设计 当在登录界面点击 “注册新用户 ”标签时,将打开注册界面,如图 53所示: 图 53 注册界面 其中基本资料为必填资料,详细资料为选填资料。 在用户输入完资料后,点击 “确认注册 ”按钮进行注册。 其间会对相关的输入进行检查,如果输入不符合规范,则不允许注册,不会向数据库插入记录,并会提示错误原因。 如果输入正确,则向数据库插入一条用户记录,在数据库中自动生成一个新的登录号码( Users表的 Id字段),以消息框的形式告诉用户申请成功的号码。 其流程图如 图 54所示: 用户 打开注册界面 自动添加星座选项与血型选项 输入注册信息 检查合法性 合法。 向数据库中添加记录 提示不合法原因 Y N 注册成功并显示号码 返回登录界面 XXXXXX 毕毕 业业 设设 计计 12 图 54 注册界面流程图 其中确认注册按钮的代码实现如下: // 点击注册,向数据库添加记录 private void btnRegist_Click(object sender, EventArgs e) { // 输入验证通过,就插入记录到数据库 if (ValidateInput()) { int myNum = 0。 // 号码 string message。 // 弹出的消息 string sex = ? :。 // 获得选中的性别 string sql =。 // 查询用的 SQL语句 int starId。 // 星座 Id int bloodTypeId。 // 血型 Id bool error = false。 // 操作数据库是否出错 // 根据星座和血型的选择来分情况确定 SQL语句 if ( != amp。 amp。 != ) { // 获得星座的 Id starId = GetStarId()。 // 获得血型的 Id bloodTypeId = GetBloodType()。 sql = (INSERT INTO Users (LoginPwd, NickName, Sex, Age, Name, StarId, BloodTypeId) values (39。 {0}39。 ,39。 {1}39。 ,39。 {2}39。 ,{3},39。 {4}39。 ,{5},{6}), (), (), sex, (()), (), starId, bloodTypeId)。 } else if ( != amp。 amp。 == ) { // 获得星座的 Id starId = GetStarId()。 sql = (INSERT INTO Users (LoginPwd, NickName, Sex, Age, Name, StarId) values (39。 {0}39。 ,39。 {1}39。 ,39。 {2}39。 ,{3},39。 {4}39。 , {5}), (), (), sex, (()), (),starId)。 } else if ( == amp。 amp。 != ) { // 获得血型的 Id bloodTypeId = GetBloodType()。 sql = (INSERT INTO Users (LoginPwd, NickName, Sex, Age, Name, BloodTypeId) values (39。 {0}39。 ,39。 {1}39。 ,39。 {2}39。 ,{3},39。 {4}39。 , {5}), XXXXXX 毕毕 业业 设设 计计 13 (), (), sex, (()), (), bloodTypeId)。 } else { sql = (INSERT INTO Users (LoginPwd, NickName, Sex, Age, Name) values (39。 {0}39。 ,39。 {1}39。 ,39。 {2}39。 ,{3},39。 {4}39。 ), (), (), sex, (()), ())。 } try { // 创建 Command 对象 SqlCommand mand = new SqlCommand(sql, )。 ()。 // 打开数据库连接 int result = ()。 // 执行插入命令 if (result == 1) { sql = SELECT @@Identity FROM Users。 // 查询新增加的记录的标识号 = sql。 // 重新指定Command 对象的 SQL 语句 myNum = (())。 // 强制类型转换会出错 message = (注册成功。 你的 My号码是 {0}, myNum)。 } else { message = 注册失败,请重试。 } } catch (Exception ex) { error = true。 message = 服务器出现意外错误。 请稍候再试。 ()。 } finally { ()。 // 关闭数据库连接 } XXXXXX 毕毕 业业 设设 计计 14 // 显示注册结果 if (error) { (message, 注册失败 , , )。 } else { (message, 注册结果 , , )。 } ()。 } } 主界面设计 当用户输入正确的登录信息并登录后,出现 图 55 所示的主界面: 图 55 主界面 XXXXXX 毕毕 业业 设设 计计 15 登陆后在 “我的好友 ”列表中显示当前好友列表,包括好友的头像和昵称。 在主界面的顶部要显示当前登陆的用户头像,昵称和登录账号。 当有新的聊天消息时候。 发来的消息的好友头像要闪动,双击头像弹出 “聊天 ”窗口后,头像停止闪动,当有添加好友请求消息时,窗体底部的好友请求验证按钮要闪烁,单击该按钮弹出 “系统消息 ”窗体后,按钮停止闪烁。 通过主窗体下方的按 钮 打开 “查找 /添加好友 ”窗体, “个人信息 ”窗口, “系统消息 ”窗口,也可刷新好友列表和退出程序。 通过右键菜单能够切换大小头像。 能够把陌生人转为好友,能够删除一个好友或陌。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。