8winform高级控件.ppt
第八章第八章WinForms控件回顾qWinForms可用于 Windows 窗体应用程序开发qWindows 窗体控件是从 System.Windows.Forms.Control 类派生的类q标签控件用于显示用户不能编辑的文本或图像q按钮控件提供用户与应用程序交互的最简便方法q组合框控件是列表框控件和文本框控件的组合,用户可以键入文本,也可以从所提供的列表中选择项目q窗体提供了收集、显示和传送信息的界面,是 GUI的重要元素q消息框显示消息,用于与用户交互2目标q使用WinForms中的高级控件q单选按钮q图片框q选项卡控件q滚动条 q进度条3单选按钮qWindows 窗体单选按钮控件以组的形式使用q单选按钮允许用户从多个选项中选择一个选项属性说明Checked确定是否已选定控件方法说明Focus将输入焦点移至控件4图片框q图片框控件表示可用于显示图像的 Windows 图片框控件 显示位图、元文件、图标、JPEG、GIF 或 PNG 等格式的图形是一种图形显示控件属性属性说明Image 用于指定图片框显示的图像。该图像可在设计或运行时设置SizeMode 用于指定图像的显示方式。可以指定的各种大小模式包括 AutoSize、CenterImage、Normal 和 StretchImage。默认值为 Normal方法说明Show 显示控件图片框5选项卡控件q在 Windows 应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中q选项卡控件用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件q选项卡相当于另一个窗体,可以容纳其他控件选项卡控件6选项卡控件的属性属性说明MultiLine指定是否可以显示多行选项卡。如果可以显示多行选项卡,该值应为 True,否则为 False。默认值为 FalseSelectedIndex当前所选选项卡页的索引值。该属性的值为当前所选选项卡页的基于 0 的索引。默认值为-1,如果未选定选项卡页,则为同一值SelectedTab当前选定的选项卡页。如果未选定选项卡页,则值为 NULL 引用ShowToolTips指定在鼠标移至选项卡时,是否应显示该选项卡的工具提示。如果对带有工具提示的选项卡显示工具提示,该值应为 True,否则为 False TabCount检索选项卡控件中选项卡的数目7选项卡控件的事件事件 说明SelectedIndexChanged更改 SelectedIndex 属性值时,将触发该事件8滚动条q用于上下或者左右滚动整个窗口或者文档q在 Microsoft Word 或 Excel 中,为浏览多页面的文档提供了滚动条滚动条垂直滚动条水平滚动条带有滚动条的 MS Word 文档窗口属性说明Maximum 用于表示滚动范围的上限值。默认值为 100Minimum 用于表示滚动范围的下限值。默认值为 0Value 该属性表示滚动条控件中代表滚动框的当前位置的数字。默认值为 0事件说明Scroll 移动滚动条上的滚动框时,将触发该事件ValueChanged 更改 Value 属性的值时,将触发该事件。Value 属性的值可由滚动事件更改,也可以通过程序来更改q滚动条的属性和事件如下:9进度条q用于指示操作的进度、完成的百分比q外观是排列在水平条中的一定数目的矩形10进度条的属性和方法属性说明Maximum进度条控件的最大值。默认值为 100Minimum进度条控件的最小值。进度条从最小值开始递增,直至达到最大值。默认值为 0StepPerformStep 方法应据以增加进度条的光标位置的值。默认值为 10Value进度条控件中光标的当前位置。默认值为 0方法说明Increment按指定的递增值移动进度条的光标位置PerformStep按 Step 属性中指定的值移动进度条的光标位置11应用程序示例 9-1 q使用窗体接受职员的个人信息和职业信息q将使用单选按钮、图片框和选项卡控件q应用程序提供有两个选项卡页q第一个选项卡页显示个人信息的文本框12应用程序示例 9-2q第二个选项卡页显示职员信息的文本框13应用程序示例 9-3q新建一个 Windows 应用程序,并将其命名为 EmployeeFormq单击“视图”“解决方案资源管理器”q将 Form1.cs 文件更改为 frmEmployees.csq单击“视图”“属性”q将窗体的 Name 属性更改为 frmEmployee,并将 Text 属性更改为职员申请表q单击“视图”“工具箱”以调用工具箱窗口q在窗体中添加一个选项卡控件q按以下幻灯片所示更改属性14应用程序示例 9-4tabPersonal 选项卡页控件名称文本分组框grpGeneral一般信息分组框grpGender性别标签lblName姓名:标签lblAddress住址:标签lblPhone电话号码:文本框txtName 文本框txtAddress文本框txtPhone图片框picLogo单选按钮radMale男单选按钮radFemale女按钮btnNext下一步(&N)tabProfessional 选项卡页:控件控件名称名称文本文本标签lblQual输入学历:标签lblWorkExp工作经验(年):文本框txtQual 文本框txtWorkExp按钮btnBack上一步(&B)按钮btnDone完成(&D)15应用程序示例 9-5q在“下一步”按钮的 Click 事件中添加以下代码private void btnNext_Click(object sender,System.EventArgs e)if(tabMain.SelectedIndex=0)vsbPersonal.Visible=false;tabMain.SelectedIndex=1;q在选项卡控件的 Click 事件中编写以下代码。private void tabMain_Click(object sender,System.EventArgs e)if(tabMain.SelectedIndex=0)vsbPersonal.Visible=false;tabMain.SelectedIndex=1;else if(tabMain.SelectedIndex=1)vsbPersonal.Visible=true;tabMain.SelectedIndex=0;在选项卡之间导航16应用程序示例 9-6q在“上一步”按钮的 Click 事件中添加以下代码private void btnBack_Click(object sender,System.EventArgs e)if(tabMain.SelectedIndex=1)vsbPersonal.Visible=true;tabMain.SelectedIndex=0;q在“完成”按钮中添加以下代码private void btnDone_Click(object sender,System.EventArgs e)MessageBox.Show(“感谢您输入信息”,“信息);Application.Exit();17q在垂直滚动条的 Scroll 事件中编写以下代码private void vsbPersonal_Scroll(object sender,System.Windows.Forms.ScrollEventArgs e)vAbsPos=(float)(vsbPersonal.Value-vsbPersonal.Minimum);SetVerticalScrollMultiplier(grpGeneral);/检查滚动方向是自上往下还是自下往上if(vsbPersonal.Value oldValue)grpGeneral.Top=grpGeneral.Top-(int)(vScrollMultiplier*vAbsPos);picLogo.Top=picLogo.Top-(int)(vScrollMultiplier*vAbsPos);grpGender.Top=grpGender.Top-(int)(vScrollMultiplier*vAbsPos);应用程序示例 9-7检查滚动方向18应用程序示例 9-8btnNext.Top=btnNext.Top-(int)(vScrollMultiplier*vAbsPos);elseif(vsbPersonal.Value oldValue)grpGeneral.Top=grpGeneral.Top+(int)(vScrollMultiplier*vAbsPos);picLogo.Top=picLogo.Top+(int)(vScrollMultiplier*vAbsPos);grpGender.Top=grpGender.Top+(int)(vScrollMultiplier*vAbsPos);btnNext.Top=btnNext.Top+(int)(vScrollMultiplier*vAbsPos);oldValue=vsbPersonal.Value;检查滚动方向(续)19应用程序示例 9-9 q编写以下自定义方法以便计算垂直滚动量private void SetVerticalScrollMultiplier(Control ctrl)float hsb=(float)(vsbPersonal.Height-ctrl.Height);float ticks=(float)(vsbPersonal.Maximum-vsbPersonal.Minimum);vScrollMultiplier=hsb/ticks;20总结qWinForms单选按钮控件允许用户进行设置qWinForms的图片框控件允许用户在窗体上添加和显示位图、元文件、JPEG、GIF 或 PNG 等格式的图形qWinForms的选项卡控件将类似的功能集中在一起,放在一个对话框或窗口中qWinForms的 HScrollBar 和 VScrollBar 用作水平和垂直滚动条,分别以水平和垂直方式浏览(或滚动)整个文档q进度条控件用于指示操作的进度,并显示排列在水平条中一定数目的矩形,通常通过在程序中设置其Value值来显示任务完成的百分比21