基于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 登陆后在 “我的好友 ”列表中显示当前好友列表,包括好友的头像和昵称。 在主界面的顶部要显示当前登陆的用户头像,昵称和登录账号。 当有新的聊天消息时候。 发来的消息的好友头像要闪动,双击头像弹出 “聊天 ”窗口后,头像停止闪动,当有添加好友请求消息时,窗体底部的好友请求验证按钮要闪烁,单击该按钮弹出 “系统消息 ”窗体后,按钮停止闪烁。 通过主窗体下方的按 钮 打开 “查找 /添加好友 ”窗体, “个人信息 ”窗口, “系统消息 ”窗口,也可刷新好友列表和退出程序。 通过右键菜单能够切换大小头像。 能够把陌生人转为好友,能够删除一个好友或陌。基于net的聊天工具的设计与实现
相关推荐
或由于 ( VCC 加入并超过复位门限电压 ) 引起系统正常复位。 11 图 复位电路图 报警与控制电路设计 在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。 其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警
液晶显示屏看到相关的开关信息,为使用者提供准确的信息。 国内外的研究现状及发展趋势 截止目前为止 , 基于 51 单片机电子密码锁 已经 开始投入使用,但是,由于使用 基于 51 单片机电子密码锁 的技术尚且不够成熟,相应的加工成本也较高,因此, 基于 51 单片机电子密码锁 还没有全面的普及到我国的所有区域。 西南科技 大学 高等教育 自学考试毕业 论文 2 第 2 章 设计 整体框架
I/O 口, P2 口缓冲器可接收,输出 4个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。 在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,
们的问题 [7]。 C是一种安全的、稳定的、简单的、优雅的 语言。 它在继承 C 和 C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。 C综合了 VB 简单的可视化操作和 C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为 .NET 开发的首选语言。 并且 C成为 ECMA 与 ISO 标准规范。 C看似基于
ils表中写信人和 收信人的用户名,如果发送信件中有与登录用户姓名相符合的信件,则更新信件的标志位,并添加到登录用户的收件箱中,用户可以直接查阅,如果邮件包含附件或图片就从数据库中读取附件或图片的信息,并在页面上显示出来。 如果没有相符合的,则该用户没有新邮件。 (流程图 7 所示) Y数据库查询判断是否与登录用户相符放入收件箱N用 户登 录结 束 图 7 收信模块功能图 删除邮件 功能
0 万元的情况下,确定一个合理的基站建 9 设方案,使得覆盖的人口尽可能的多。 针对该问题,我们建立了两个模型, 分别从不同角度求解出了基站的最佳建设方案。 其中在 01规划模型中,运用 lingo 软件对规划模型 求解得出在 2, 4, 6, 7 号位置建设基站时,覆盖人口最多,为 千人, 同时建设基站的费用为 4500 万元,满足题目中 建设费用不超过 5000 万的 要求的结论。