




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#工程设计第二部分主讲:张红梅简单的WinForm程序o1加法计算器:用户在文本框1、2中输入两个数,点击按钮,在文本框3中显示两个数的和。假设1或者2为错误的数据格式,那么弹出对话框提示错误。留意判别输入数字的格式问题如何处理。int.TryParse、MessageBox.Show。 string s = string.Format(0他好,textBox1.Text);/引荐o2输入email地址,输出用户名和域名o3求累加和:从文本框1累加到文本框2,输出结果到文本框3.o 留意:除了要判别1,2两个文本框的数字格式问题之外,还要判别2的数字要大于1的数字。o4页面上有一张图片,初始
2、形状是隐藏的,要求输入身份证号码,点击按钮假设年龄大于18岁那么显示图片身份证号码ataTime.Now.Yearo5文本框左右各有一个按钮,单击左侧按钮那么文本框中文字向左循环滚动一次,单击右侧按钮那么文本框中文字向右循环滚动一次。文本框1.TextBox文本框可以经过MultiLine属性设置为多行显示,向该文本框中添加内容可以运用:1TextBox.Text+= DateTime.Now.ToString()+n;2TextBox.AppendText(DateTime.Now.ToString()+n);/追加当前系统时间以上两种方法都可以实现同
3、样的功能,但是第一种方法有一个缺陷,就是当原来的文本内容特别多时,将非常浪费时间。2.文本框的重要属性:PasswordChar留意:控件的名字要有意义。文本框3.练习标题:1登录界面。登录错误三次退出程序,假设用户名、密码是admin、666666,不区分大小写。易错点:部分变量与类变量退出程序:this.Close或者Application.Exit。2修正密码。界面上有旧密码、新密码、反复新密码,假设旧密码为666666,两次输入的新密码必需和旧密码不一样,并且两次输入的新密码必需一致。提示:可以同时选中多个控件,一同进展属性的设置,这称为“批量设置。3在多行文本框中输入多行“姓名=成果
4、格式的数据,要求输出成果最高的学生的姓名和成果。ComboBox控件1.属性SelectedIndex: 选中项的序号。没有任何选中的时候是-1,否那么是选中的序号从0开场2.其他重要属性:SelectedItem:选中的项。3.练习1简单的四那么运算器。如何制止用户编辑?属性DropDownStyle设置为:DropDownList。2省市选择器ListBoxoListBox:SelectedIndex、Items、SelectedIndexChanged事件。o多项选择的方式,设置SelectionMode为MultiExtendoListBox:SelectedIndices、Selec
5、tedItem、SelectedItems、SelectionMode;o案例:人员选择,左边选择到右边、右边退回左边、批量添加。遇到的问题,删除顺序,计算机的思想。计时器TimeroTimer。每隔一段时间触发一个事件。不可视控件。Inerval、Enabled。Tick事件。o计量单位:ms毫秒。 1秒=1000毫秒oDateTimeo案例:小时钟。取当前时间DateTime.Now.ToString();TreeView控件控件o树的根本概念:父节点、子节点、兄弟节点、根节点o编辑节点,节点名字Name,节点文字Texto动态添加节点VS编辑界面中有添加根节点、添加子节点两个o按钮:o向
6、根节点下添加子节点:treeView.Nodes.Add,它的前往值就是创建的节点对象。treeView.Nodes代表根节点的一切子节点。o向TreeNode添加子节点,treeNode.Nodes.Add,它的前往o值就是创建的节点对象。treeNode.Nodes代表节点的一切子节点。练习:构建省市县三级树o首先treeView.Nodes.Add添加省节点。并且把添加的节点TreeNode对象放到treeNodeLiaoning等变量中o向treeNodeLiaoning等省级节点下添加市节点,并且把添加的节点TreeNode对象放到treeNodeShenYang等变量中o向tree
7、NodeShenYang等市节点下添加区县节点。TreeView深化深化o选择项发生变化的时候在TextBox中显示当前选择项的值。AfterSelect事件。oTreeNode的Tag,TreeNode中Text只能盛放显示的值,可以用Tag属性给节点关联一个对象。 Tag属性是Object类型的,因此可以关联任何的对象。案例:省市县显示当前项的o练习:选择节点的时候显示市长、人口int类型。ListView控件o功能:显示带图标的项列表。o属性:oView属性:用于获取或设置项在控件中的显示方式。默以为LargeIcon。oItems属性:获取包含控件中一切项的集合。oSelectedIt
8、ems属性:获取选定的项。o方法:oClear方法:删除ListView控件中一切的项。ListView控件o事件:oItemCheck事件:中选中ListView控件项时触发。oClick事件:单击ListView控件项时触发。oSelectedIndexChanged事件:改动选中项时触发。o例如:显示企业员工信息DataGridView控件o功能:以网格的方式显示数据。o属性:oRows属性:获取该控件中的一切行的一个集合oDataSource属性:设置或获取该控件所显示数据的数据源o事件:oCellContentClick事件:单击某项内容时触发面向对象主要知识点:o接口o委托o事件o
9、异常接口接口由接口由interfaceinterface声明,是一种特殊的笼统类。接口可声明,是一种特殊的笼统类。接口可以包含方法、属性和事件等成员,但不提供成员的以包含方法、属性和事件等成员,但不提供成员的任何实现。接口中的成员由其派生类来实现。任何实现。接口中的成员由其派生类来实现。格式:格式: 修饰符修饰符 interface interface 接口名接口名 属性类型属性类型 属性名属性名 get; set; get; set;前往类型前往类型 方法名参数列表方法名参数列表; ; 接口阐明:阐明:接口的命名普通以接口的命名普通以I I开头;开头;接口中没有字段,无构造函数,不允许进展运
10、算符重载;接口中没有字段,无构造函数,不允许进展运算符重载;接口的成员没有任何访问修饰符,它总是公共的,不能声明为虚拟接口的成员没有任何访问修饰符,它总是公共的,不能声明为虚拟或静态;或静态;承继自接口的派生类必需实现接口中的一切成员。承继自接口的派生类必需实现接口中的一切成员。一个类可以承继多个接口接口间以逗号间隔,当一个类承继某一个类可以承继多个接口接口间以逗号间隔,当一个类承继某个接口时,它不仅要实现该接口定义的一切成员,还要实现该个接口时,它不仅要实现该接口定义的一切成员,还要实现该接口从其他接口中承继的一切成员。接口从其他接口中承继的一切成员。类的基列表同时包含基类和接口时,列表中首
11、先出现的是基类。类的基列表同时包含基类和接口时,列表中首先出现的是基类。接口例如:例如: public interface IShapepublic interface IShape double Length get; set; double Length get; set; double Width get; set; double Width get; set; double Area(); double Area(); public class Rect : IShape public class Rect : IShape private double length; private
12、 double length; public double Length public double Length get return length; get return length; set length = value; set length = value; private double width; private double width; public double Width public double Width get return width; get return width; set width = value; set width = value; public
13、 double Area() public double Area() return length return length * * width; width; 委托委托就像一个函数指针,在程序运转时可以运用它们委托就像一个函数指针,在程序运转时可以运用它们调用不同的函数。委托的运用普通包括三个步骤:调用不同的函数。委托的运用普通包括三个步骤:定义委托、实例化委托、调用委托。定义委托、实例化委托、调用委托。1 1、定义委托、定义委托格式:格式: 修饰符修饰符 delegate delegate 前往类型前往类型 委托名委托名( (参数列表参数列表););例如:例如: public deleg
14、ate double MyDelegate(double a, public delegate double MyDelegate(double a, double b);double b);委托阐明:阐明:委托的定义和方法的定义类似,只是在前面加了一个委托的定义和方法的定义类似,只是在前面加了一个delegate,delegate,但委托不是方法,是一种类型。用于对和但委托不是方法,是一种类型。用于对和该委托有一样签名的方法调用。该委托有一样签名的方法调用。委托相当于委托相当于C C 中的函数指针,但他是面向对象和类型平中的函数指针,但他是面向对象和类型平安的。安的。委托是从委托是从Syst
15、em.DelegateSystem.Delegate派生,但不能象定义常规类派生,但不能象定义常规类型一样直接从型一样直接从System.DelegateSystem.Delegate派生,对委托的声明派生,对委托的声明只能经过上面的声明格式进展定义。关键字只能经过上面的声明格式进展定义。关键字delegatedelegate通知编译器这是一个委托类型,从而在编译的时候对通知编译器这是一个委托类型,从而在编译的时候对该类进展封装该类进展封装, ,对这一过程对这一过程C#C#定义了专门的语法来处定义了专门的语法来处置这一过程。置这一过程。委托即可以对静态方法进展调用也可以对实例方法进展委托即可以
16、对静态方法进展调用也可以对实例方法进展调用。调用。每个委托类型包含一个本人的调用列表,当组合一个委每个委托类型包含一个本人的调用列表,当组合一个委托或从一个委托中删除一个委托时都将产生新的调用托或从一个委托中删除一个委托时都将产生新的调用列表。列表。委托2 2、实例化和调用委托、实例化和调用委托例如:例如: /定义委托定义委托 public delegate double MyDelegate(double a, double b);public delegate double MyDelegate(double a, double b); / /定义方法定义方法 double Sum(dou
17、ble x, double y)double Sum(double x, double y) return x+y; return x+y; 以下代码在某个方法或事件中编写:以下代码在某个方法或事件中编写: /实例化委托实例化委托 MyDelegate my = new MyDelegate(Sum);MyDelegate my = new MyDelegate(Sum); / /调用委托调用委托 double d = my(2, 5);double d = my(2, 5);3 3、多重委托、多重委托可以运用一个委托调用多个方法,这称之为多重委托。可以运用一个委托调用多个方法,这称之为多重委
18、托。事件事件就是当对象或类形状发生改动时,对象或类发出的信息或通知。事件就是当对象或类形状发生改动时,对象或类发出的信息或通知。发出信息的对象或类称为发出信息的对象或类称为“事件源事件源, ,对事件进展处置的方法对事件进展处置的方法称为称为“接纳者接纳者, ,通常事件源在发出形状改动信息时通常事件源在发出形状改动信息时, ,他并不知他并不知道由哪个事件接纳者来处置道由哪个事件接纳者来处置. .这就需求一种管理机制即委托这就需求一种管理机制即委托来协调事件源和接纳者。来协调事件源和接纳者。事件的运用过程如下:事件的运用过程如下:1 1、声明一个委托、声明一个委托public delegate v
19、oid DisplayEventHandler(string str);public delegate void DisplayEventHandler(string str);2 2、声明一个事件、声明一个事件public event DisplayEventHandler Display;public event DisplayEventHandler Display;事件3 3、引发一个事件、引发一个事件 public void Start(string s)public void Start(string s) if (Display != null) if (Display != n
20、ull) Display(s); Display(s); 4 4、定义事件处置程序、定义事件处置程序 void ShowMsg(string str)void ShowMsg(string str) textBox1.Text= str; textBox1.Text= str; 5 5、订阅事件、订阅事件( (将事件处置程序添加到事件的调用列表中将事件处置程序添加到事件的调用列表中) )Display += new DisplayEventHandler(ShowMsg);Display += new DisplayEventHandler(ShowMsg);异常异常是程序执行时遇到的任何错误
21、情况或不测行为。异常是程序执行时遇到的任何错误情况或不测行为。1 1、异常处置机制、异常处置机制格式:格式: trytry /需求进展异常处置的代码需求进展异常处置的代码 catch(catch(异常类型异常类型 对象对象) ) / /异常处置代码异常处置代码 finallyfinally / /异常出现与否都执行的代码,普通用于清理资源等异常出现与否都执行的代码,普通用于清理资源等 异常2 2、抛出异常、抛出异常格式:格式: throw throw 异常对象;异常对象;例如:例如: throw new Exception(throw new Exception(出现了异常!出现了异常!);)
22、;3 3、自定义异常、自定义异常先定义一个异常类,该异常类承继自第三方异常基先定义一个异常类,该异常类承继自第三方异常基类类ApplicationExceptionApplicationException,然后在该类中定义本人,然后在该类中定义本人的构造函数和所需的异常。的构造函数和所需的异常。泛型泛型是指将类型参数化以到达代码复用,提高软件开发任务效率的泛型是指将类型参数化以到达代码复用,提高软件开发任务效率的一种数据类型。泛型类和泛型方法同时具备可重用性、类型平一种数据类型。泛型类和泛型方法同时具备可重用性、类型平安和效率,这是非泛型类和非泛型方法无法具备的。安和效率,这是非泛型类和非泛型方法无法具备的。( (一一) )泛型的定义泛型的定义1 1、泛型方法的定义、泛型方法的定义例如:例如: private void Swap(ref T a,ref T b)private void Swap(ref T a,ref T b) T temp; T temp; temp = a; a = b; b = temp; temp = a; a = b; b = temp; 泛型2 2、泛型类的定义、泛型类的定义例如:例如: class Sampleclass Sample public void Swap(ref T a,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南信息职业技术学院《医学微生物》2023-2024学年第二学期期末试卷
- 江苏省苏州市苏苑高级中学2025届高三下学期期中考试试卷化学试题含解析
- 江苏食品药品职业技术学院《管理案例分析》2023-2024学年第二学期期末试卷
- 长江大学《分子生物学前沿实验技术和应用》2023-2024学年第二学期期末试卷
- 南宁职业技术学院《医学影像学结合》2023-2024学年第二学期期末试卷
- 新化县2024-2025学年五年级数学第二学期期末质量检测模拟试题含答案
- 山西省右玉县2024-2025学年初三5月模拟试题物理试题含解析
- 吉首大学张家界学院《英语国家社交礼仪》2023-2024学年第一学期期末试卷
- 中国计量大学《机能实验1》2023-2024学年第二学期期末试卷
- 江苏省无锡市和桥区、张渚区2024-2025学年高中毕业班5月质量检查(Ⅰ)英语试题含答案
- 口腔正畸病例书写模板
- 呼叫中心产业研究报告
- 人民音乐出版社六年级下册音乐教案(全册)
- 药物临床试验概述课件(PPT 23页)
- HP系列圆锥破碎机常见故障
- 安徽中医药大学专升本(语文)科目考试题库(含历年重点题)
- 等离子体光谱诊断实验报告
- 永磁吸盘使用方法及安全事项
- 企业计算机基础培训课件
- 哈萨克斯坦2050战略总统国情咨文(中文版)
- 复摆鄂式破碎机
评论
0/150
提交评论