面向对象程序设计 C#.Net
description
Transcript of 面向对象程序设计 C#.Net
异常处理 程序调试技术 异常概念 异常的发生 异常的默认处理形式 编程捕捉异常 异常与函数调用 抛出异常
面向对象程序设计 C# 2009-2010-2 2
程序调试技术简介 断点 Break Point 单步执行 Step 变量观察 Variable Watch 表达式求值 Expression Evaluation
面向对象程序设计 C# 2009-2010-2 3
程序可能出现的问题 语法错误(编译错误)和警告
由于语法引起的错误,或者由于名称不匹配等引起的错误。在录入、编译的时候就会给予提示 出现这种错误时,源代码无法变成可执行文件
运行时错误(异常) 在运行的时候发生的意料之外的情况
逻辑错误 程序正常运行,但是结论与预期不符合
面向对象程序设计 C# 2009-2010-2 4
异常 异常是程序在运行遇到的任何错误情形或者意外行为 这些意外是可预期的,但是无法由编程人员控制是否发生
面向对象程序设计 C# 2009-2010-2 5
C# 的异常处理 C# 采用了大部分面向对象编程语言所采用的try-catch 结构来进行异常处理
称为结构化异常处理 是一种事后捕捉的处理方式
即:在 try 区域中,允许异常发生,在发生后,根据具体情况进行事后补救工作
面向对象程序设计 C# 2009-2010-2 6
try-catch-finally 执行过程
面向对象程序设计 C# 2009-2010-2 7
正常执行,未发生异常
try 块
catch 块
finally块
调用该段代码的地方
可能发生异常的语句发生异常,且被捕获处理
发生异常,但是无法被捕获处理
异常类 在 catch 中,我们可以通过异常类和变量来捕捉不同异常 系统定义了一系列的异常类型,用于处理不同的异常情况
面向对象程序设计 C# 2009-2010-2 8
异常的抛出 throw 我们可以用 throw 语句产生异常 throw 语句用于向系统抛出一个异常,抛出后由异常处理机制进行处理 事实上,之前所谓的系统异常,都是由被我们调用的函数内部主动抛出的
面向对象程序设计 C# 2009-2010-2 9
结构化在异常处理中的作用 在结构化程序设计中,每个模块对其外围代码而言,是一个整体,一个有输入,有输出,完成特定任务的黑盒
这里模块指一个函数,或者只是一段代码 外围指调用这个函数的代码,或者这个模块前后的代码等 输入、输出对于函数而言主要是参数,以及全局变量,而对于代码段而言,主要是变量
有了结构化,程序就清晰了面向对象程序设计 C# 2009-2010-2 10
Windows 程序设计 Windows 程序设计概念 控件布局及其属性 代码读写属性 消息框的使用 更多的控件
面向对象程序设计 C# 2009-2010-2 11
Windows 程序设计 Windows 程序设计,即设计在 Windows 环境下运行的程序 它的基础是一个窗体,在窗体的范围内可以布局各种控件,并且编写相应的代码 演示:新建 Windows 窗体程序
面向对象程序设计 C# 2009-2010-2 12
注意事项 注意区分设计状态和运行状态的窗体
一般设计时叫窗体 Form ,运行时叫窗口 Window 注意程序的结构:
一个解决方案 Solution 一个项目 Project 一个主程序文件 Program.cs 一组窗体程序文件 Form1
面向对象程序设计 C# 2009-2010-2 13
布局控件 可以从工具箱( Toolbox )中拖拉控件到窗体设计界面上。或者在工具箱中点击控件,再在窗体上拖动添加控件 通过拖动,进行控件位置、大小的直观定位 借住工具栏按钮,可以进行控件的对齐
面向对象程序设计 C# 2009-2010-2 14
控件属性 属性( Property )是控件的相关信息 可以通过属性窗格对控件进行调整 注意:窗体也是控件,是容器性控件,也有自己的属性!!
面向对象程序设计 C# 2009-2010-2 15
控件属性 名称 定位、外观类属性 用户输入类属性 行为类属性
面向对象程序设计 C# 2009-2010-2 16
常用控件 标签 Label (lbl) 文本框 TextBox (txt) 按钮 Button (btn) 复选框 CheckBox (chk) 单选按钮 RadioButton (rad) 组合框 ComboBox (cmb) 列表框 ListBox (lst)
面向对象程序设计 C# 2009-2010-2 17
控件命名 控件就是窗体上面的变量,所以也要命名! 当添加控件的时候,系统自动会用序号为控件命名,如 button1 、 textBox1 等等 建议为界面上面的每个控件命名,命名一般标准为:类型前缀 + 控件功能
如 btnClose 关闭按钮 前缀一般为控件类型的缩写,常见的见前文 也有一些人习惯用后缀命名方式,将类型放后面
面向对象程序设计 C# 2009-2010-2 18
代码书写 在窗体上添加一个按钮,命名为 btnHello 在按钮上双击,进入代码页面
public partial class frmFirstForm : Form { public frmFirstForm() { InitializeComponent(); } private void btnHello_Click(object sender, EventArgs e) { // 在这里写你的代码 } }
面向对象程序设计 C# 2009-2010-2 19
代码解析 private void btnHello_Click(object sender, EventArgs e) { //你的代码所在位置 }
这个就是所谓的事件函数,在按钮 btnHello 被点击 (Click) 之后,我们所执行的操作就在这里编写。这种方式叫“事件驱动” 关于事件,详细的下一次介绍
面向对象程序设计 C# 2009-2010-2 20
发生事件的控件 发生了什么事件 函数的参数(不要乱改)
我们的代码,在这个事件发生之后所执行的
代码书写 在事件中写入代码:
MessageBox.Show("Hello, world!"); MessageBox 是消息框对象,用于显示提示信息等 Show 是它的方法,用来显示信息 参数为一个字符串,是要显示的内容
面向对象程序设计 C# 2009-2010-2 21
读取控件的属性 我们可以在事件代码中读取控件的属性 尤其是输入型的控件 往界面上面再添加一个文本框 txtUserName 将原来的事件代码改为:
MessageBox.Show("欢迎 ", txtUserName.Text);
这里 txtUserName 是文本框的名字,而它的Text 属性则是用户在文本框中输入的文字
面向对象程序设计 C# 2009-2010-2 22
代码读写控件属性 在代码中,可以直接用“控件名 . 属性名”的方式对控件的属性进行读取和设置 一般涉及的是用户在控件中的输入
面向对象程序设计 C# 2009-2010-2 23
控件的常用属性 文本框 TextBox
string Text 用户输入的文字 复选框 CheckBox
bool Checked 是否选中该项目 单选钮 RadioButton
bool Checked 是否在一系列项目中选中此项 标签 Label
string Text 显示给用户看的文字面向对象程序设计 C# 2009-2010-2 24
列表框 ListBox 列表框用来列出一组文字,用户可以在这些项目中选择一个或者多个 管理列表框内容 读取用户选择的内容
面向对象程序设计 C# 2009-2010-2 25
组合框 ComboBox
组合框可以看做列表框和文本框的组合 有三种不同模式 如何管理组合框内容 读取组合框的选择
面向对象程序设计 C# 2009-2010-2 26
Windows 程序设计的一般步骤 先构思窗体布局,各个位置,使用什么控件,获取什么类型的信息 在窗体上实现静态的构思 编写代码,写事件响应流程
面向对象程序设计 C# 2009-2010-2 27
Windows 程序设计 Windows 程序设计概念 控件布局及其属性 代码读写属性 消息框的使用 更多的控件
面向对象程序设计 C# 2009-2010-2 28
预习 控件的事件 委托
面向对象程序设计 C# 2009-2010-2 29
实验 根据要求设计 Windows 窗体,摆放控件并编程实现点击按钮后显示信息
面向对象程序设计 C# 2009-2010-2 30