《ACCPS使用C开发数据库应用系统.pptx》由会员分享,可在线阅读,更多相关《ACCPS使用C开发数据库应用系统.pptx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、回顾与作业点评如何弹出消息框?如何获得消息框的返回值如何弹出消息框?如何获得消息框的返回值?如何从一个窗体跳转到另一个窗体?如何从一个窗体跳转到另一个窗体?如何读取数据库中多行多列的查询结果?如何读取数据库中多行多列的查询结果?第1页/共31页预习检查本章讲了哪几个控件?本章讲了哪几个控件?控件的控件的Anchor和和Dock属性有什么作用?属性有什么作用?第2页/共31页设计管理员主窗体设计管理员主窗体设计编辑学生窗体设计编辑学生窗体实现新增学生功能实现新增学生功能本章任务第3页/共31页会使用基本控件设计窗体,并合理布局会使用基本控件设计窗体,并合理布局会实现会实现MDI风格的窗体风格的窗
2、体能将数据库中的数据读取出来显示在窗体上能将数据库中的数据读取出来显示在窗体上能将窗体中的数据保存到数据库能将窗体中的数据保存到数据库本章目标第4页/共31页菜单栏和工具栏.NET提供:提供:菜单栏控件菜单栏控件MenuStrip工具栏控件工具栏控件ToolStripWindows中的菜单和工具栏中的菜单和工具栏第5页/共31页创建管理员菜单创建管理员菜单,并打开新增学生窗体:创建管理员菜单,并打开新增学生窗体:普通菜单项:普通菜单项:ToolStripMenuItem内容分割线:内容分割线:ToolStripSeparator菜单的快捷键:菜单的快捷键:&+字母,例如:字母,例如:&F“退出
3、退出”:演示示例演示示例1 1:创建管理员菜单:创建管理员菜单Application.Exit();/退出应用程序退出应用程序可以用可以用this.Close()吗?吗?命名规范:命名规范:tsmi前缀前缀第6页/共31页实现带图片的工具栏实现带图片的工具栏多控件绑定同一事件处理方法多控件绑定同一事件处理方法创建管理员工具栏 属性名称属性名称 说说 明明DisplayStyle是否显示图像和文本是否显示图像和文本Image将显示的图像将显示的图像ImageScaling是否调整图像大小是否调整图像大小TextImageRelation图像与文本的相对位置图像与文本的相对位置演示示例演示示例2
4、2:创建管理员工具栏:创建管理员工具栏第7页/共31页练习1设计主窗体需求说明:需求说明:设计管理员主窗体设计管理员主窗体设计学生用户主窗体设计学生用户主窗体要求有退出功能要求有退出功能登录时根据登录的类型,跳转到不同的主窗体登录时根据登录的类型,跳转到不同的主窗体完成时间:完成时间:15分钟分钟第8页/共31页共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解第9页/共31页控件进阶演示示例演示示例3 3:设计编辑学生用户窗体:设计编辑学生用户窗体设计编辑学生用户窗体:设计编辑学生用户窗体:Label、TextBox、Co
5、mboBox、Button单选按钮:单选按钮:RadioButton日期选择控件:日期选择控件:DateTimePicker组框:组框:GroupBox面板:面板:Panel第10页/共31页命名规范命名规范-前缀前缀控件命名规范属性名称属性名称说明说明属性名称属性名称单选按钮单选按钮RadioButtonrbtn组框组框GroupBoxgrp面板面板Panelpnl第11页/共31页设计布局良好的窗体为什么要排列控件?为什么要排列控件?不美观不美观不友好不友好第12页/共31页用VS排列窗体的控件工具:工具:Visual Studio的的“格式格式”菜单按住按住“Ctrl”键,选择多个控件键
6、,选择多个控件以第一个控件为基准以第一个控件为基准教员演示排列窗体的控件教员演示排列窗体的控件第13页/共31页锚定控件原始窗口原始窗口窗口拉大后窗口拉大后使用使用 AnchorAchor属性属性:固定控件与窗体边缘距离固定控件与窗体边缘距离第14页/共31页原始窗口原始窗口停靠控件窗口拉大后窗口拉大后Dock属性:属性:将控件停靠在窗体的边缘或填充窗体将控件停靠在窗体的边缘或填充窗体使用使用Dock第15页/共31页MDI窗体在在 MDI 应用程序中可以应用程序中可以同时同时打开打开多个多个文件文件 父窗口父窗口子窗口子窗口第16页/共31页构建MDI演示示例演示示例4 4:构建:构建MDI
7、应用程序应用程序第17页/共31页MDI关键步骤创建创建 MDI 的步骤:的步骤:1、父窗体父窗体的的 IsMDIContainer 属性设为属性设为true 2、子窗体子窗体的的 MdiParent 属性设为父窗体属性设为父窗体ChildForm childForm=new ChildForm();childForm.MdiParent=this;childForm.Show();设置子窗体的父窗体设置子窗体的父窗体建立建立子窗体窗口列表子窗体窗口列表步骤:步骤:设置父窗体菜单控件的设置父窗体菜单控件的 MdiWindowListItem 属性,选属性,选定为定为“窗口窗口”菜单项菜单项第1
8、8页/共31页练习2设计编辑学生用户窗体需求说明:需求说明:设计编辑学生用户窗体设计编辑学生用户窗体从管理员主窗体打开该窗体从管理员主窗体打开该窗体实现输入验证实现输入验证完成时间:完成时间:15分钟分钟第19页/共31页练习3设计修改密码窗体需求说明:需求说明:设计修改密码窗体设计修改密码窗体从管理员主窗体打开该窗体从管理员主窗体打开该窗体要求有输入验证:两次的新密码一致要求有输入验证:两次的新密码一致完成时间:完成时间:10分钟分钟第20页/共31页练习4实现修改密码功能需求说明:需求说明:将数据库中的旧密码更新为新密码将数据库中的旧密码更新为新密码完成时间:完成时间:25分钟分钟第21页
9、/共31页共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解第22页/共31页动态向ComboBox中添加数据如何读取年级信息添加如何读取年级信息添加到年级组合框中?到年级组合框中?处理窗体的处理窗体的Load事件事件使用使用DataReader读取年级读取年级添加添加ComboBox的项的项cboGrade.Items.Add(要添加的项要添加的项);演示示例演示示例5 5:显示年级信息:显示年级信息第23页/共31页练习5填充年级数据需求说明:需求说明:从数据库读取年级名称,添加到从数据库读取年级名称,添加到“编辑学生用
10、户编辑学生用户”窗体的年级组合框中窗体的年级组合框中完成时间:完成时间:20分钟分钟第24页/共31页练习6实现新增学生用户功能训练要点:训练要点:获得窗体控件的值获得窗体控件的值ExecuteScalar()方法方法ExecuteNonQuery()方法方法需求说明:需求说明:学生用户信息填写完整后,将信息保存到数据库学生用户信息填写完整后,将信息保存到数据库添加成功在窗体上显示生成的学号添加成功在窗体上显示生成的学号教员讲解需求教员讲解需求第25页/共31页指导实现新增学生用户功能实现思路:实现思路:1、用户输入验证通过(已经实现)、用户输入验证通过(已经实现)2、根据选中的年级名称,用、
11、根据选中的年级名称,用ExecuteScalar()方法方法查询年级查询年级Id3、用、用ExecuteNonQuery()方法向数据库中插入数方法向数据库中插入数据,性别值定义为常量据,性别值定义为常量 4、获得最后生成的标识列值作为学号、获得最后生成的标识列值作为学号完成时间:完成时间:25分钟分钟难点指导:难点指导:获得最后生成的标识列值:获得最后生成的标识列值:SELECT IDENTITY第26页/共31页共性问题集中讲解n常见调试问题及解决办法常见调试问题及解决办法n代码规范问题代码规范问题共性问题集中讲解共性问题集中讲解第27页/共31页总结Dock和和Anchor的区别是什么?的区别是什么?如何构建如何构建MDI父窗体、子窗体?父窗体、子窗体?如何利用代码向如何利用代码向ComboBox中添加项?中添加项?如何确定单选按钮是否选中?如何确定单选按钮是否选中?第28页/共31页作业课后作业课后作业必做必做教员备课时在此添加内容教员备课时在此添加内容选做选做教员备课时在此添加内容教员备课时在此添加内容提交时间:提交时间:xxx提交形式:提交形式:xxx预习作业预习作业背诵英文单词背诵英文单词教员备课时在此添加内容教员备课时在此添加内容第29页/共31页第30页/共31页
限制150内