面向对象程序设计 c#.net

30
面面面面面面面面 C#.Net 09 Windows 程程程程 I 郑郑 [email protected] 13509354412 http://www.lzj.name

Upload: olwen

Post on 21-Mar-2016

122 views

Category:

Documents


2 download

DESCRIPTION

面向对象程序设计 C#.Net. 09 Windows 程序设计 I. 郑捷 [email protected] 13509354412 http://www.lzj.name. 异常处理. 程序调试技术 异常概念 异常的发生 异常的默认处理形式 编程捕捉异常 异常与函数调用 抛出异常. 程序调试技术简介. 断点 Break Point 单步执行 Step 变量观察 Variable Watch 表达式求值 Expression Evaluation. 程序可能出现的问题. 语法错误(编译错误)和警告 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 面向对象程序设计 C#.Net

面向对象程序设计C#.Net

09 Windows 程序设计 I

郑捷 [email protected] 13509354412 http://www.lzj.name

Page 2: 面向对象程序设计 C#.Net

异常处理 程序调试技术 异常概念 异常的发生 异常的默认处理形式 编程捕捉异常 异常与函数调用 抛出异常

面向对象程序设计 C# 2009-2010-2 2

Page 3: 面向对象程序设计 C#.Net

程序调试技术简介 断点 Break Point 单步执行 Step 变量观察 Variable Watch 表达式求值 Expression Evaluation

面向对象程序设计 C# 2009-2010-2 3

Page 4: 面向对象程序设计 C#.Net

程序可能出现的问题 语法错误(编译错误)和警告

由于语法引起的错误,或者由于名称不匹配等引起的错误。在录入、编译的时候就会给予提示 出现这种错误时,源代码无法变成可执行文件

运行时错误(异常) 在运行的时候发生的意料之外的情况

逻辑错误 程序正常运行,但是结论与预期不符合

面向对象程序设计 C# 2009-2010-2 4

Page 5: 面向对象程序设计 C#.Net

异常 异常是程序在运行遇到的任何错误情形或者意外行为 这些意外是可预期的,但是无法由编程人员控制是否发生

面向对象程序设计 C# 2009-2010-2 5

Page 6: 面向对象程序设计 C#.Net

C# 的异常处理 C# 采用了大部分面向对象编程语言所采用的try-catch 结构来进行异常处理

称为结构化异常处理 是一种事后捕捉的处理方式

即:在 try 区域中,允许异常发生,在发生后,根据具体情况进行事后补救工作

面向对象程序设计 C# 2009-2010-2 6

Page 7: 面向对象程序设计 C#.Net

try-catch-finally 执行过程

面向对象程序设计 C# 2009-2010-2 7

正常执行,未发生异常

try 块

catch 块

finally块

调用该段代码的地方

可能发生异常的语句发生异常,且被捕获处理

发生异常,但是无法被捕获处理

Page 8: 面向对象程序设计 C#.Net

异常类 在 catch 中,我们可以通过异常类和变量来捕捉不同异常 系统定义了一系列的异常类型,用于处理不同的异常情况

面向对象程序设计 C# 2009-2010-2 8

Page 9: 面向对象程序设计 C#.Net

异常的抛出 throw 我们可以用 throw 语句产生异常 throw 语句用于向系统抛出一个异常,抛出后由异常处理机制进行处理 事实上,之前所谓的系统异常,都是由被我们调用的函数内部主动抛出的

面向对象程序设计 C# 2009-2010-2 9

Page 10: 面向对象程序设计 C#.Net

结构化在异常处理中的作用 在结构化程序设计中,每个模块对其外围代码而言,是一个整体,一个有输入,有输出,完成特定任务的黑盒

这里模块指一个函数,或者只是一段代码 外围指调用这个函数的代码,或者这个模块前后的代码等 输入、输出对于函数而言主要是参数,以及全局变量,而对于代码段而言,主要是变量

有了结构化,程序就清晰了面向对象程序设计 C# 2009-2010-2 10

Page 11: 面向对象程序设计 C#.Net

Windows 程序设计 Windows 程序设计概念 控件布局及其属性 代码读写属性 消息框的使用 更多的控件

面向对象程序设计 C# 2009-2010-2 11

Page 12: 面向对象程序设计 C#.Net

Windows 程序设计 Windows 程序设计,即设计在 Windows 环境下运行的程序 它的基础是一个窗体,在窗体的范围内可以布局各种控件,并且编写相应的代码 演示:新建 Windows 窗体程序

面向对象程序设计 C# 2009-2010-2 12

Page 13: 面向对象程序设计 C#.Net

注意事项 注意区分设计状态和运行状态的窗体

一般设计时叫窗体 Form ,运行时叫窗口 Window 注意程序的结构:

一个解决方案 Solution 一个项目 Project 一个主程序文件 Program.cs 一组窗体程序文件 Form1

面向对象程序设计 C# 2009-2010-2 13

Page 14: 面向对象程序设计 C#.Net

布局控件 可以从工具箱( Toolbox )中拖拉控件到窗体设计界面上。或者在工具箱中点击控件,再在窗体上拖动添加控件 通过拖动,进行控件位置、大小的直观定位 借住工具栏按钮,可以进行控件的对齐

面向对象程序设计 C# 2009-2010-2 14

Page 15: 面向对象程序设计 C#.Net

控件属性 属性( Property )是控件的相关信息 可以通过属性窗格对控件进行调整 注意:窗体也是控件,是容器性控件,也有自己的属性!!

面向对象程序设计 C# 2009-2010-2 15

Page 16: 面向对象程序设计 C#.Net

控件属性 名称 定位、外观类属性 用户输入类属性 行为类属性

面向对象程序设计 C# 2009-2010-2 16

Page 17: 面向对象程序设计 C#.Net

常用控件 标签 Label (lbl) 文本框 TextBox (txt) 按钮 Button (btn) 复选框 CheckBox (chk) 单选按钮 RadioButton (rad) 组合框 ComboBox (cmb) 列表框 ListBox (lst)

面向对象程序设计 C# 2009-2010-2 17

Page 18: 面向对象程序设计 C#.Net

控件命名 控件就是窗体上面的变量,所以也要命名! 当添加控件的时候,系统自动会用序号为控件命名,如 button1 、 textBox1 等等 建议为界面上面的每个控件命名,命名一般标准为:类型前缀 + 控件功能

如 btnClose 关闭按钮 前缀一般为控件类型的缩写,常见的见前文 也有一些人习惯用后缀命名方式,将类型放后面

面向对象程序设计 C# 2009-2010-2 18

Page 19: 面向对象程序设计 C#.Net

代码书写 在窗体上添加一个按钮,命名为 btnHello 在按钮上双击,进入代码页面

public partial class frmFirstForm : Form { public frmFirstForm() { InitializeComponent(); } private void btnHello_Click(object sender, EventArgs e) { // 在这里写你的代码 } }

面向对象程序设计 C# 2009-2010-2 19

Page 20: 面向对象程序设计 C#.Net

代码解析 private void btnHello_Click(object sender, EventArgs e) { //你的代码所在位置 }

这个就是所谓的事件函数,在按钮 btnHello 被点击 (Click) 之后,我们所执行的操作就在这里编写。这种方式叫“事件驱动” 关于事件,详细的下一次介绍

面向对象程序设计 C# 2009-2010-2 20

发生事件的控件 发生了什么事件 函数的参数(不要乱改)

我们的代码,在这个事件发生之后所执行的

Page 21: 面向对象程序设计 C#.Net

代码书写 在事件中写入代码:

MessageBox.Show("Hello, world!"); MessageBox 是消息框对象,用于显示提示信息等 Show 是它的方法,用来显示信息 参数为一个字符串,是要显示的内容

面向对象程序设计 C# 2009-2010-2 21

Page 22: 面向对象程序设计 C#.Net

读取控件的属性 我们可以在事件代码中读取控件的属性 尤其是输入型的控件 往界面上面再添加一个文本框 txtUserName 将原来的事件代码改为:

MessageBox.Show("欢迎 ", txtUserName.Text);

这里 txtUserName 是文本框的名字,而它的Text 属性则是用户在文本框中输入的文字

面向对象程序设计 C# 2009-2010-2 22

Page 23: 面向对象程序设计 C#.Net

代码读写控件属性 在代码中,可以直接用“控件名 . 属性名”的方式对控件的属性进行读取和设置 一般涉及的是用户在控件中的输入

面向对象程序设计 C# 2009-2010-2 23

Page 24: 面向对象程序设计 C#.Net

控件的常用属性 文本框 TextBox

string Text 用户输入的文字 复选框 CheckBox

bool Checked 是否选中该项目 单选钮 RadioButton

bool Checked 是否在一系列项目中选中此项 标签 Label

string Text 显示给用户看的文字面向对象程序设计 C# 2009-2010-2 24

Page 25: 面向对象程序设计 C#.Net

列表框 ListBox 列表框用来列出一组文字,用户可以在这些项目中选择一个或者多个 管理列表框内容 读取用户选择的内容

面向对象程序设计 C# 2009-2010-2 25

Page 26: 面向对象程序设计 C#.Net

组合框 ComboBox

组合框可以看做列表框和文本框的组合 有三种不同模式 如何管理组合框内容 读取组合框的选择

面向对象程序设计 C# 2009-2010-2 26

Page 27: 面向对象程序设计 C#.Net

Windows 程序设计的一般步骤 先构思窗体布局,各个位置,使用什么控件,获取什么类型的信息 在窗体上实现静态的构思 编写代码,写事件响应流程

面向对象程序设计 C# 2009-2010-2 27

Page 28: 面向对象程序设计 C#.Net

Windows 程序设计 Windows 程序设计概念 控件布局及其属性 代码读写属性 消息框的使用 更多的控件

面向对象程序设计 C# 2009-2010-2 28

Page 29: 面向对象程序设计 C#.Net

预习 控件的事件 委托

面向对象程序设计 C# 2009-2010-2 29

Page 30: 面向对象程序设计 C#.Net

实验 根据要求设计 Windows 窗体,摆放控件并编程实现点击按钮后显示信息

面向对象程序设计 C# 2009-2010-2 30