C#程序设计--Windows应用程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图元类层次完善
IgraphicsOp接口 为图元增加绘图参数 Draw()和 ClearDraw()方法的实现 zoom()方法的实现 Move()和MoveTo()方法的实现 虚函数的应用避免重复编码,每个子类 只设计自己特殊的方法
图形编辑和交互式绘图
图形编辑程序需求分析 复制图元 选择图元和弹出菜单设计 剪除、复制、粘贴图元、图元回到显示 底层 和交互式拖动图元的实现 交互式定义和绘制图元做的修改
C#程序设计
庄成三 代术成编 2003年7月
第四部分
.Net平台下用C# 设计各类应用程序的技术
课程的内容和目标
学习面向对象的程序设计技术和方法 学习用C#设计程序解决实际问题 初步了解.Net平台环境和工具 提高调试程序和使用开发工具的能力 总的目标:
为从事软件研制开发打下基础
(具体说能胜任软件公司的工作)
HTML(超文本标识语言)
设计网页的语言,由标签和文本组成 标签(Tag)用<和>括起来,多数成对用 标记包括的文本如何显示, 有属性可嵌套 重要标签 <HTML> 、<HEAD> 、<BODY> <A>、<IMG> 、<TABLE>、<SCRIPT> <FORM> 和输入控件、<OBJECT >
菜单、工具栏和MDI
菜单: 弹出菜单 ContextMenu 应用的例 工具栏 : 按钮的容器,可放入按钮,实现常用的菜 单项的功能 (得自己设计代码来实现) MDI 父子窗口菜单自动合并 设置为Mdi容器IsMdiContainer=true 设置为子窗口 MdiParent=parent
对话框的应用
在窗口上输出
输出是在客户区域绘图 输出文本的步骤:
创建或者获取一个Graphics对象。 创建一个画刷(比如Brush)对象 创建一个字体(Font)对象 创建一个对象指定绘制字符串的起始地方或 者创建一个图形区域指定绘制字符的区域 调用 Graphics 的 DrawString 方法绘制字符串。
用开发Web应用(1)
Web应用程序工作原理和设计Web 应用程序基础
Web应用程序工作原理和设计 Web应用程序基础(1)
HTTP 协议和HTM L语言基础 CGI、ISAPI 和ASP 技术 .NET的Web应用程序工作原理 .NET设计Web应用程序入门 用VS设计Web应用程序
界面交互的对象:窗口和控件
控件有属性、方法和事件、及可视部分 窗口 也有属性、方法和事件及可视部分 父窗口/子窗口 弹出窗口 模式窗口(对话框)/非模式窗口 菜单 是控件 Bar菜单 (主菜单),下拉菜单 , 弹出菜单,菜单项 常用控件 事件激发次序
VS生成的C#程序的窗口和控件
控件(菜单是控件)都由类control实现 主窗口是control 的派生类Form的实例 控件、事件和事件处理器都是窗口(Form) 类的成员 窗口初始化工作在构造函数和所调用的 InitializeComponent()函数实现 VS可生成选择了的事件处理器的骨架
Windows应用程序设计(1)
Windows程序设计基础
Windows程序设计基础
事件驱动程序的特点 界面的交互对象:窗口和控件的设计 在窗口上输出 接收窗口上的输入 菜单、工具栏和MDI窗口 对话框的应用
事件驱动程序的特点
主函数执行消息循环 设计用户交互的对象和GUI界面布局 设计各类事件处理器 改变界面特征,处理输入/输出 完成业务计算(用到前面学的C#) 处理异常情况等。 本章重点交互界面设计和输入/输出处理
用命令对象存取数据库
插入,删除和修改单个记录命令,返回 标量或不返回值的存储过程时用 更新记录 插入记录 删除记录 简单的查询 注意参数传递怎样实现
用DataReader读出数据
DataReader对象是向前的cursor(光标) read()方法依次读cursor中记录 通过索引或字段名取字段 或GetInt32、GetFloat、GetGuid等方法 Command 对象执行命令返回结果关系后将 创建DataReader对象 例
在窗口上输出(续)
输出图形 步骤(和输出文本类似) 创建或得到Graphic类对象, 创建画刷或画笔对象, 如需要创建字体对象, 调用Graphic类的绘图方法绘图 用OnPaint事件和OnPaint函数重绘 窗口输出的例
接收窗口上的输入
输入的主要手段:鼠标和键盘 常用鼠标事件的处理函数 鼠标事件的激发次序 鼠标事件的参数MouseEventArgs类 常用键盘事件的处理函数 参数KeyEventArgs 类的属性 用鼠标交互绘图
GDI+和交互绘图设计
通过例子学习:
GDI+常用类、结构和方法、事件 图元类层次完善, GDI+用法, 并再体会多态的应用 图形编辑的例和交互式绘图技术 简单动画技术 Windows程序设计的综合练习
GDI+常用类、结构、和事件
Graphics 对象和 Paint事件 坐标结构Point和结构Rectangle GraphicsPaths路径类和Regห้องสมุดไป่ตู้on区域类 Color结构,alpha、红、绿和兰成分 画刷和画笔 单色画刷和影线画刷 字体和字体系列 FontFamily和Font类
用 VS设计简单的用户界面
分析需要交互的模块及每次交互需要的 界面元素(对象) 常用控件:
Label,TextBox,ChecBox,RadioButton, Button,ListBox,ScrollBar 设计界面布局,设置主窗口属性 将控件放入窗口,设置控件属性,设计菜单 设计需要的事件处理器 例1 例2
简单动画技术
绘动画操作:绘制和抹除, 抹除操作:复员, 被覆盖图象将被正确显示。 方法1:利用绘动画操作,按给定位置、旋转 方向和尺度伸缩比例抹除前一个、绘制下一个, 产生动画。 方法2:定义一系列时刻景象中每个图形和图 形每个图元的位置、旋转方向和尺度伸缩比例, 每个时刻按定义重画所有景象中图象(或许背 景不动),这和电影类似。
任务:设计输入学生信息的窗口 可能输入的信息有姓名、性别、年龄、 籍贯、是否团员。 姓名和年龄不能为空 ,年龄 >=0 籍贯取值国内一省市(设无外国留学生) 系取值学校有的系,但可为空
界面窗口和控件设计
CheckBox选择是否是团员 ListBox选择籍贯 Conbound选择所属的系 RadioButton选择性别 TextBox输入姓名和年龄 多行TextBox输出处理结果 按钮确认和帮助 ,菜单设计(略)
验证输入数据的正确性
籍贯和系不用设计验证代码 正确性由提供的列表值保证 是否团员和性别也不用验证 为什么? 验证姓名和年龄非空: 用TextBox的Validating事件 验证年龄>=0: 用KeyPress 告诉系统不接受非法字符
处理输入数据
在确认按钮的Click事件处理器中完成 将输入数据拼写成输出串在输出区输出 (实际应用中一般要对数据进行计算或 将数据保存在数据库中) 在处理前也可做数据正确性验证工作, 特别是要保存前
用户交互界面组成50-70%的代码 多数应用需要(除纯显示外)有录入 设计界面对象:窗口、控件和界面布局 验证输入数据的正确性(完整性验证) 处理输入数据(如同步,得到相关数据) 控制界面对象的活动性 如可否编辑,可否显示,按钮可否按 下发出命令(变灰),或动态生成等
一个简单的学生信息录入界面 设计的例
HTTP 协议和HTM L语言基础
Web 服务器,信息提供者 Web服务器软件 客户 信息消费者 浏览器 客户-服务器通信 HTTP协议 web页(网页) HTML(超文本标识语言) 动态网页 Java Applet,客户端脚本 CGI、ISAPI,服务器端脚本技术ASP、JSP
HTTP协议
请求-响应型的协议 在TCP/IP之上 HTTP事务由下列四步组成: 连接,客户机建立到Web服务器的连接 请求,客户机发送请求给Web服务器 响应,Web服务器发送响应(HTML文件) 给客户机; 断开,Web服务器断开连接
DataSet和DataAdapter的应用
DataTable 对象好象一个在内存的关系 DataSet 可包括多个DataTable 好象内存 的关系数据库 DataAdapter 的fill()方法检索数据到 DataSet DataAdapter 的update()方法将DataSet 的更新写回数据库 中间DataSet可和数据库脱机
资源定位符URL
请求的资源定位URL,格式为
协议:// 主机名[:端口] / 文件绝对 路径[?参数]
协议 HTTP, FTP等 主机名 域名(Ip地址也可) 端口 一般80 参数 <名字=值> 列表
HTTP请求的方法
方法(Method) 常用的有Get和POST Get 参数在URL的?号后,在消息头中 POST 参数在消息体中 HTTP协议本身不保持状态 cookies客户-服务器间传送的状态信息
控制界面对象的活动性
应控制按钮 ‘确认’ 当且仅当所有(这里是姓名和年龄) 正确性验证都通过后才活动Enable 否则,变灰。 姓名和年龄改变事件设置通过标记,单 个验证结束后未通过设置标记为Disable 检查所有验证通过否,如是Enable
Windows应用程序设计(3)
GDI+绘图初步 和交互绘图的例
学习和教学的方法
最基本要求是加强实践,
凡程序设计的内容都必须上机学习
程序设计的练习必须在计算机上完成 根据程序设计能力决定能否通过,书面考试辅助
其他措施
以用软件解决实际问题为线索安排教学内容 教学内容紧密结合当前软件开发实际 加强实践同时注意培养抽象思维能力自学能力
教学内容
微软.Net平台 和C#简介 1章 .Net平台和开发工具应用基础 2-3章 结合C#讲解面向对象程序设计 4-6章 ( 围绕控制台应用程序设计学习 Windows程序设计基础 7章大部分 存取数据库技术基础 8章一部分 Web应用程序设计 10,12,15章一部分
对话框是一种模式窗口 Form1 testDialog = new Form1(); DialogResult= testDialog .ShowDialog(this) ; 应用系统设计的对话框 CommonDialog 的派生类
Windows应用程序设计(2)
设计用户录入界面的例
设计用户录入交互界面
.NET开发三层结构应用软件
开发Windows应用程序主要技术 客户程序: Windows Forms设计界面 应用服务器:C#设计类库 数据库服务器:存取数据库 开发Web应用程序主要技术 客户程序: Web Forms设计界面 其余同
数据库和数据库接口
关系 基表 元组 属性 主键 外键 SQL 语句, 存储过程和触发器 存取数据库的接口 ODBC OLEDB ADO
HTML的标签的用法(1)
HTML网页由头HEAD和体BODY组成 体BODY中包括浏览的信息 链 link用 <A>标签
<A HREF="/"> Microsoft</A> 定义锚点 <A NAME="Anchor">网页开始</A> <A HREF="#Anchor">链接到 to Anchor</A>
应用存取数据库的技术
存取和操纵数据库的数据
存取和操纵数据库的数据
应用程序的两层和三层结构 数据库和数据库接口 ADO的主要类 连接数据库系统 用命令对象存取数据库 用DataReader读出数据 DataSet和DataAdapter的应用
应用程序的两层和三层结构
Client/Server两层结构 客户Client 显示和I/O,业务计算 服务器Server 数据管理 部分业务计算 三层结构 客户Client:显示和I/O 应用服务器:业务计算 数据库服务器Server:数据管理
ADO的主要类
数据提供者的类 Connection 连接对象 Command 命令对象 DataReader DataAdapter 用户对象类 DataSet 、DataTabl 、DataRow 、 DataColumn 、DataRelation 等
连接数据库系统
连接串: 连接参数组成 SqlConnection 类和OleDbConnection 类 连接对象用过释放,防止占用过多资源 创建连接对象的例
相关文档
最新文档