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