




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于C#的Windows应用程序设计,控件使用,学习内容,为控件创建事件处理程序 使用Windows窗体控件 在Windows窗体应用程序中使用对话框 在运行时添加控件 创建菜单 验证用户输入,1、为控件创建事件处理程序,.NET Framework中的事件模型 委托 事件处理程序 为控件事件创建事件处理程序 在运行时添加和移除事件处理程序 课堂练习 为控件创建事件处理程序,1.1 .NET Framework中的事件模型,事件和委托的关系 事件是由对象发出的消息,通知重要事情的发生 事件是使用委托来实现的 委托是面向对象函数指针的一种形式 允许通过对函数进行引用的方法来间接地调用该函数 事件
2、模型 包括事件和委托两个概念 代表了事件之间的触发关系,1.1 .NET Framework中的事件模型,按钮1,this.button1.Click += new System.EventHandler(this.button1_Click);,private void button1_Click(object sender, System.EventArgs e) ,1.2 委托,委托: 一种从委托类中派生出来的数据结构,表示到类实例的静态方法或那个类的实例方法 把事件和方法绑定在一起 可以和一个或多个方法绑定在一起 一个应用程序记录了一个事件后 通过为事件触发委托,控件可以激活事件 相应
3、地,委托调用绑定的方法,1.2 委托,委托的形式如下 修饰符 delegate 返回类型 委托名称(参数列表),public delegate void AlarmEventHandler(object sender, AlarmEventArgs e);,1.3 事件处理程序,事件处理程序:绑定到一个事件的方法 绑定到一个事件的方法 激活事件后, 就执行事件内包含的代码 事件处理程序的两个参数 一个对象,代表了触发事件的对象和来源 一个事件对象,包含了任何事件参数专有的对象,private void button1_Click(object sender, System.EventArgs
4、e) ,1.4 为控件事件创建事件处理程序,使用event关键字声明要在处理程序声明中使用的对象变量 在程序声明的最后使用Handles关键字,1.5 在运行时添加和移除事件处理程序,为了在运行时把一个事件和一个事件处理程序联系在一起, 使用AddHandler声明 为了在运行时移除一个事件和一个事件处理程序之间的联系, 使用RemoveHandler声明,this.button2.Click -= new System.EventHandler(this.button1_Click);,this.button2.Click += new System.EventHandler(this.bu
5、tton1_Click);,1.6 课堂练习 为控件创建事件处理程序,在本次练习中,将要: 为一个MouseMove事件创建一个事件处理程序 为一个Click事件创建一个事件处理程序,2、根据功能选择Windows窗体控件,Windows 窗体控件,控件(Control),按钮基类(ButtonBase),复选框(CheckBox),单选框(RadioButton),树形视图(TreeView),组合框(GroupBox),列表控件(ListControls),下拉框(ComboBox),列表框(ListBox),列表视图(ListView),通用对话框(CommonDialog),颜色对话框
6、(ColorDialog),字体对话框(FontDialog),打开对话框(OpenDialog),保存对话框(SaveDialog),打印对话框(PrintDialog),页面设置对话框(PageSetupDialog),打印预览对话框(PrintPreviewDialog),状态栏(StatusBar),轨道栏(TrackBar),工具条(ToolBar),滚动条(ScrollBar),文本框基类(TextBoxBase),文本框(TextBox),富文本框(RichTextBox),进度条(ProgressBar),图片框(PictureBox),可滚动控件(ScrollableCont
7、rol),容器控件(ContainerControl),窗体(Form),面板(Panel),数据控件(Data Controls),数据表格(DataGrid),分隔条(Splitter),2.1、使用Windows窗体控件,根据功能选择Windows窗体控件 使用StatusStrip控件 课堂练习-使用StatusStrip控件 使用GroupBox和Panel控件 课堂练习-容器控件使用 使用ToolStrip控件 课堂练习-创建和使用ToolStrip控件,2.1 .1属性窗口中属于控件基类的属性,AccessibleDescriptionAccessibleName Accessi
8、bleRoleAllowDrop AnchorAutoSize BackColorBackgroundImage BackgroundImageLayout CausesValidationContextMenuStrip CursorDataBindings,2.1.2 描述性标签,Label 属性:Name,Text LinkLabel 属性:Name, Text 事件:Click,2.1.3 用户输入控件,TextBox文本框接受用户的纯文本输入,是最常用的文本输入控件。 属性: Text,PasswordChar,Mulitline.Lines RichTextBox用户可以通过 Ri
9、chTextBox 控件输入和编辑文本。该控件还提供比标准 TextBox 控件更高级的格式设置功能。可以将文本直接分配给该控件,或者从 RTF 格式文件或纯文本文件加载文本。可以为控件内的文本分配字符和段落格式设置。,2.1.3 用户输入控件,public void CreateMyRichTextBox() RichTextBox richTextBox1 = new RichTextBox(); richTextBox1.Dock = DockStyle.Fill; richTextBox1.LoadFile(C:MyDocument.rtf); richTextBox1.Find(Te
10、xt, RichTextBoxFinds.MatchCase); richTextBox1.SelectionFont = new Font(Verdana, 12, FontStyle.Bold); richTextBox1.SelectionColor = Color.Red; richTextBox1.SaveFile(C:MyDocument.rtf, RichTextBoxStreamType.RichText); this.Controls.Add(richTextBox1); ,2.1.3 用户输入控件,ListBox控件用于显示一个选项列表,用户从中选择一个或多个来完成输入。
11、属性:Items,SelectedItems, SelectedIndex, 方法:items.Add(),Insert(),Clear(), Remove() 事件:SelectedIndexChanged,2.1.3 用户输入控件,ComboBox组合框控件,把文本框和列表框组合在一起,拥有这两种控件的功能。 属性:,2.1.4 按钮,Button是windows下压按钮控件,其中包含了属性,事件和用户交互。包括常用属性:Name,Text,FlatStyle,BackColor, ForeColor 事件:Click private void button1_Click(object s
12、ender, EventArgs e) ,2.1.4 按钮,Checkbox是复选框控件,用户可以选多个或者一个不选。每个选项有三种状态:Checked,UnChecked,Indeteminate; 属性:Text,Name,Checked CheckedListBox复选框控组,用户可以从待选的选择项中多选或者单选。,2.1.4 按钮,RadioButton是单选按钮,用户只可以选择其中一个。属性: Text,Name,Checked,2.1.5使用GroupBox和Panel控件,从工具箱拖动容器(“面板”或“组合框” )控件到窗体上 添加其他控件到容器控件,都要拖到面板里面 如果要把现
13、成的控件包含在容器内,那么把它拖到容器内 为了显示“面板”控件的滚动条,设置它的AutoScrollbar属性为True 为了在“组合框”上显示标题, 设置它的Text属性为一个合适的标题,2.1.5课堂练习-容器控件使用,要求: “欢迎使用本DEMO”要始终居中显示; “选择登录角色”、用户名、密码输入框以及确定按钮位置保持,且始终居中显示(X轴); 用户名的输入框默认拥有焦点。,2.1.6 使用StatusStrip控件,在窗体中添加一个“状态栏” 控件 编辑状态栏子控件,2.1.6 课堂练习-使用StatusStrip控件,使用StatusStrip状态栏,分三部分 居左边显示登录系统时
14、间信息 中间显示“欢迎使用本系统” 居右边实时显示时间信息,2.1.7 使用ToolStrip控件,从工具箱中添加一个“工具栏” 控件到窗体上 在工具栏上添加按钮 在“工具栏按钮集合”上添加按钮 通过设置文本和/或图像配置按钮,2.1.7 课堂练习-创建和使用ToolStrip控件,要求: 添加一个“工具栏控件和图形列表控件” 添加按钮到“工具栏控件” 添加图片到“工具栏控件” 为工具栏按键创建一个事件处理程序,3、对话框的使用,常用对话框 在应用程序中显示对话框 DialogResult属性 使用对话框中获得的输入 课堂练习-对话框的使用,3.1 常用对话框,3.2 在应用程序中使用对话框,
15、if (openFileDialog1.ShowDialog() = DialogResult.OK) MessageBox.Show(openFileDialog1.FileName); using (OpenFileDialog ofd = new OpenFileDialog() ofd.InitialDirectory = c:; ofd.Filter = 文本文件(*.txt)|*.txt|C#文件(*.cs)|*.cs|所有文件(*.*)|*.*; ofd.RestoreDirectory = true; ofd.FilterIndex = 1; if (ofd.ShowDialo
16、g() = DialogResult.OK) MessageBox.Show(ofd.FileName); ,3.3 DialogResult属性,DialogResult属性,3.4 使用对话框中获得的输入,public void DisplayValue() DialogResult userResponse = openFileDialog1.ShowDialog(); if (userResponse = DialogResult.OK) filePath = openFileDialog1.FileName.ToString(); MessageBox.Show(You succes
17、sfully opened: + filePath + , Success, MessageBoxButtons.OK, MessageBoxIcon.Information,MessageBoxDefaultButton.Button1); ,3.5 课堂练习-对话框的使用,要求: 点击“打开文件”按钮,使用 OpenFileDialog查找且只允许查找 txt文件,找到后将文件内容显示在 richBox中; 点击“字体颜色”按钮,使用 olorDialog设置显示的字体颜色; 点击“字体大小”按钮,使用 FontDialog设置显示的字体格式及大小;,4、在运行时添加控件,控件集合 在运行
18、时添加控件 课堂练习 在运行时添加和移除控件,4.1 控件集合,控件集合 代表了控件对象的集合 使用Add、Remove和RemoveAt方法从集合中添加、移除控件 使用Contains方法确定一个控件是否是集合的一部分,Form1.Controls.Contains(textbox1);,Form1.Controls.Remove(textbox1);,Form1.Controls.Add(textbox1);,4.2 在运行时添加控件,CheckBox signatureCheckBox = new CheckBox(); / 下面的程序设置signatureCheckBox的属性,包括文
19、本( Text)等 signatureCheckBox.Text = Signature required; signatureCheckBox.Left = 24; signatureCheckBox.Top = 80;,/ 给GroupBox1集合添加新的控件signatureCheckBox GroupBox1.Controls.Add(signatureCheckBox);,4.3 课堂练习 在运行时添加和移除控件,在本次练习中,将要: 移除不要的控件 添加一个新控件 规定新控件的属性,5、创建菜单,处理焦点 使用Validating事件验证控件 窗体级别验证 ErrorProvide
20、r 控件 使用ErrorProvider 控件,5.1 处理焦点,处理焦点 使用Focus方法,返回值反映了设置焦点是否成功 CanFocus属性表示控件是否收到焦点 焦点事件的次序 进入 获得焦点 离开 验证 得到验证 失去焦点,5.2 使用Validating事件验证控件,使用控件的Validating事件验证用户输入 控件验证结束运行Validating事件后,经过验证的事件触发 CausesValidation 属性决定以前的控件是否参加验证。如果控件的设置为False,以前的控件不触发Validating事件,所有控件的CausesValidation 属性缺省值是True,5.2
21、使用Validating验证事件,/ Visual C# private void minValueTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) if (Convert.ToInt32(minValueTextBox.Text) = Convert.ToInt32(maxValueTextBox.Text) e.Cancel = true; MessageBox.Show(“You must enter a minimum value that ” + “is less than the m
22、aximum value”); ,5.3 窗体级别验证,窗体级别验证 用户完成了所有数据填写之后,进行窗体级验证 用户进行另一步时,调用窗体级验证,5.4 ErrorProvider控件,ErrorProvider 用于指示窗体上的控件具有关联错误 当用户输入无效数据时,显示出错误 显示数据集合内的错误 主要的优点 错误消息就在相关控件旁边,比消息框更好 鼠标指向错误图标时,显示错误消息,5.4 ErrorProvider控件,主要的属性 数据源属性表示要显示错误的数据集合 容器控件自动设置为包含的窗体 图标可以设置为特别的图片 主要的方法,SetError,容器控件,图标,数据源,5.5 使用ErrorPro
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 统计学考试复习战略与技巧试题及答案
- 统计学调查研究方法讨论试题及答案
- 公务员省考笔试与面试的准备策略试题及答案
- 2025进出口贸易合同范本
- 湖南省怀化市新晃侗族自治县大湾罗中学2024-2025学年七年级下学期3月月考语文试题(无答案)
- 统计学基础知识与考题对应分析试题及答案
- 2025二手房买卖定金协议书合同样本
- 政治经济学重点
- 2025新款办公室租赁合同模板
- 2025中介合同签订流程
- 医院公共卫生管理制度
- 2024年版-生产作业指导书SOP模板
- DL-T5508-2015燃气分布式供能站设计规范
- 汽车吊装专项施工方案及流程
- 2024年安徽省合肥市新站区中考一模数学试题
- 智联招聘测评题库2024答案
- 地震应急疏散演练方案安全教育
- 上下班交通安全培训课件
- 无人生还介绍读后感课件
- 彝族服饰简要介绍课件
- 教师职业道德-爱国守法
评论
0/150
提交评论