Visual Basic.NET程序设计课件 第7章 常用控件.ppt
《Visual Basic.NET程序设计课件 第7章 常用控件.ppt》由会员分享,可在线阅读,更多相关《Visual Basic.NET程序设计课件 第7章 常用控件.ppt(207页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,第 7 章 常用控件,7.1 Windows程序开发环境 7.7 按钮 7.2 控件概述 7.8 颜色和字体对话框 7.3 窗体和消息框 7.9 列表框 7.4 文本控件 7.10 容器 7.5 图片框 7.11 滚动条 7.6 键盘和鼠标事件 7.12 计时器,控制台应用程序与用户交互是利用文本方式实现的。 随着计算机应用的普及和Windows操作系统的出现,大量的应用程序希望用户界面友好,操作简捷,可以通过图形、声音等各种元素可视化地操作使用计算机。 这种能够与计算机进行可视化交互的应用程序在.NET中称为Windows应用程序,其主要特点: 使用图形用户界面(Graphical Use
2、r Interface,GUI); 使用面向对象方法编程; 基于事件(消息)驱动机制。 设计Windows应用程序的代码量比控制台应用程序(Dos程序)大得多,所以许多系统软件都提供了相应的Windows应用程序的开发环境, 以便减少用户的编码量。,VB.NET提供了一个直观、便捷的可视化开发环境,我们编写程序解决实际问题不需要为设计Windows用户界面编写大量代码,可以把精力集中于应用程序的功能设计上。,7.1 Windows程序开发环境,当进入Visual Studio 2010集成开发环境新建项目时出现:,7.1.1 开发环境,在“新建项目”对话框中选择“Visual Basic”和“
3、Windows窗体应用程序”,并输入项目的路径和名称。,单击“确定”按钮之后,打开如图7.2所示的Windows应用程序的编辑环境:,系统自动生成一个名为Form1.vb文件,并提供窗体设计窗口、工具箱、属性窗口、代码窗口等。,1窗体设计窗口 窗体设计窗口简称窗体(Form),是用户自定义的窗口,用来设计应用程序的用户界面。 Windows应用程序中的各种数据、图形、图像等都是通过窗体或窗体中的控件输入或显示出来的。,从“视图”菜单选择“设计器”(Shift+F7),或者双击解决方案窗口中的“Form1.vb”文件名,都可以打开程序的设计窗口。,2工具箱 工具箱以可视化形式显示,它提供了一组控
4、件类,用于建立窗体上的控件对象。 使用“视图”菜单也可以打开工具箱,如图7.3所示。,工具箱以分类方式列出各种控件类。 所有控件类除了出现在分类列表中外,还按字母顺序排列,出现在第一个列表“所有Windows窗体”中。 单击“+”展开图标,会看到各类控件的图标和名称。 例如,单击公共控件前面的“+”展开图标,展开公共控件的列表。,公共控件是常用的设计控件。 用鼠标双击或单击拖动工具箱的控件类图标,将可视化地在窗体上生成控件对象。 利用控件对象的属性表、鼠标拖动操作或用布局工具,可以修改控件的位置、大小、颜色等外观属性。 为方便叙述,常把使用控件类工具生成的控件对象简称为控件。,4代码窗口 代码
5、窗口用来输入程序代码。 打开代码窗口有几个方法: (1)从“视图”菜单选择“代码”命令(Ctrl+Alt+0); (2)右键单击窗体,从快捷菜单中选择“代码”命令; (3)右键单击“解决方案资源管理器”的“Form1.vb”文件名,从快捷菜单中选择“代码”命令。,打开代码窗口后,可以看到系统预定义的Form1类框架。 在Form1类框架中可以输入其它程序代码。例如,各种事件处理过程等。 用户设计的事件处理过程都是窗体类的方法,将写入Form1.vb文件中。,另外,使用集成开发环境的“文件”菜单,或者使用解决方案的树状列表,可以打开、新建各种类型文件,进入各种不同形式的代码编辑窗口。 例如,可以
6、为用户添加一个窗体模块文件,如图7.10所示,系统将打开代码编辑窗口。,5事件处理过程,Windows应用程序是基于事件驱动的。所谓事件,是界面上对象可以识别的动作。当事件触发时要执行相应的事件过程。 事件过程如何输入? 在设计窗体中选择控件和在属性窗口中选择相应的事件,系统就会自动生成事件处理过程框架,并进入代码窗口,等待用户输入代码。 例如,输入一个单击窗体时执行的事件过程,步骤如下: 打开窗体属性列表,单击闪电形按钮,这时列表将显示窗体的事件。 从事件列表中选择需要的事件,如图7.11所示,选择了窗体的Click事件。 双击事件名称,系统自动打开代码窗口。,可以看到系统预定义的窗体类和事
7、件处理过程框架,用户可以输入代码。,窗体的事件过程都是窗体类的方法。为了使窗体可以处理事件,.NET创建一个事件处理器并附加到事件过程源程序中。从图7.12看到的是窗体单击事件过程的框架: Private Sub Form1_Click(ByVal sender As _ System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Click End Sub 过程参数用于建立事件处理器与处理事件的对象的关联。,第二个参数e根据不同的事件将会是不同的类型,可以使事件过程接收和处理不同的事件数据。,第一个参数sender用来接收事件处理
8、器的指针,它指向触发事件的对象。,“Handles MyBase.Click”称为Handles子句,声明该过程用于处理特定的事件。,.NET框架类库中,事件是由Control类定义的,它是窗体类、控件类的基类。 关键字MyBasic表示访问基类的成员。,编写Windows应用程序解决问题主要完成两部分工作:界面设计和程序功能设计。,7.1.2 建立Windows应用程序,需求分析: 解决这个问题必须输入圆的半径,并按公式计算输出圆的周长和面积。 实现步骤: 首先设计一个用户界面,程序运行后通过该界面让用户输入一个半径,然后在程序中接收用户的输入信息后,按用户要求计算并在该界面显示圆的周长和面
9、积。,计算圆的周长和面积。,例7-1, 建立Windows应用程序 按前面步骤建立一个Visual Basic的Windows窗体应用程序,命名为例7-1。 系统自动提供了一个名为Form1的窗体。 设计界面 添加控件对象 3个标签:Label1、Label2和Label3; 3个文本框:TextBox1,TextBox2和TextBox3; 2个按钮:Button1和Button2 可以用鼠标和布局工具调整它们的位置和大小。 设置控件属性值 打开属性窗口,设置各控件的Text属性值。,上机步骤:, 设计和输入事件处理过程 单击Button1(计算)控件的Click(单击)事件过程用于接收用户
10、输入,计算并显示结果。 单击Button2(退出)控件的Click(单击)事件过程用于关闭窗体,结束程序的执行。,Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim r!, girth!, area! Const PI! = 3.1415 r = TextBox1.Text 显示半径 girth = 2 * PI * r area = PI * r * r TextBox2.Text
11、 = girth 显示计算结果 TextBox3.Text = area End Sub Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click Close() End Sub End Class, 编译、运行程序 选择IDE生成菜单的“生成解决方案”命令(或用F7快捷键),对程序进行编译、连接。 编译、连接成功之后,选择调试菜单的“开始执行(不调试)”命令(或用Ctrl+F5快捷键)执行程序。 程序运行后,用户在第一个文本框中输入
12、一个浮点数,然后单击“计算”按钮,第二个和第三个文本框立即显示周长和面积值。,如果单击“退出”按钮,关闭窗口,结束程序的执行。,运行程序,7.2 控件概述,控件、组件是用户界面设计的基本元素。 VB.NET中,Object类是所有类的基类,当然也是控件、组件的基类。,控件和组件是根据其类型定义及功能来区分的。 组件由Component类派生,没有可视化表示形式。 例如,ImageList、Timer等,多用于存储数据或执行后台操作。 在窗体设计时,组件位于窗体下方的组件托盘中,程序运行后没有可视化图像(见P204图7.31)。 各种控件类由Control类派生,该类定义了控件的可视化属性,如尺
13、寸、位置、颜色等,设计时可以进行界面布局。 控件一般用于接收用户输入和显示结果。 例如,Button、TextBox、TreeView都是常用控件。 由于Control类也是由Component类派生,可以认为控件是带有可视化属性的组件,许多情况下并不严格区分控件和组件,都称为窗体控件。,在集成开发环境中,工具箱提供了所有可以参与设计的控件和组件,但默认只显示.NET预定义的标准控件和组件。 用户可以使用“Windows窗体控件”项目模板创建一个包含其他控件的复合控件,也可以直接从Control类或者Component类派生一个类(编写代码绘制控件)来创建Windows窗体控件。,工具箱按类别
14、组织,分别为公共控件、容器、菜单和工具栏、数据、组件、打印、对话框、报表等。,工具箱的快捷菜单(见图)有很强的操作性。 其中第一组命令可以对项目做基本编辑,如复制、删除、重命名等;,第二组命令用于选择工具箱项目的显示方式; 第三组命令用于选择、排列项目,利用“重置工具箱”命令可把工具箱恢复为默认状态;,第四组“添加选项卡”命令用于建立新的选项卡; 第五组命令用于对控件列表顺序进行调整。,设计应用程序的可视化用户界面实际上是在窗体上设置控件及其属性。 大部分控件属性可以在窗体设计界面通过“属性”窗口设置,只有少部分属性及一些根据程序运行需要来更改的属性需通过程序代码设置。 Control类是所有
15、控件类的基类,它提供了所有控件都具有一些公共属性、方法和事件。,Control类的常用属性,Control类的常用方法,控件的坐标系规定如下: 原点:控件内部坐标属性,控件左上角为(0,0)点; X轴:控件内部坐标属性,以像素点为单位,水平向右; Y轴:控件内部坐标属性,以像素点为单位,水平向下; Z轴:控件之间的坐标属性,当不同控件之间有重合区域时,表示控件的覆盖顺序。,在Windows操作系统中,显示器的坐标系规定与控件类似,只是坐标原点在屏幕的左上角。,Control类的常用事件,控件类不仅具有Control类的属性、方法和事件, 也有自己的属性、方法和事件。 可以通过控件的快捷菜单或主
16、菜单的工具栏打开属性窗口,这时可以看到控件的所有属性,单击属性窗口中带闪电符号的小图标,也可以看到当前控件的事件列表。,7.3 窗体和消息框,7.3.1 窗 体,窗体是一个重要的图形对象。窗体(Form)是程序员的“工作台”,当用户新建一个项目时,系统自动创建一个名为Form1主窗体,用来设计图形用户界面。 窗体除了具有自己的属性、事件和方法外,还像一个容器一样,可以在它上面放置除了窗体之外的其他控件。 例如,命令按钮、标签、文本框、图片框等。 窗体显示出来时,它上面的控件是可见的;窗体移动时,它们也随之移动;窗体隐藏时,上面的控件也不可见了。,窗体的常用属性,窗体的常用方法,窗体的常用事件,
17、改变窗体宽度。,例7-2,设置属性: Text:改变窗体宽度 Size:200,150 StartPosition:CenterScreen,Public Class Form1 Private Sub Form1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Click Width = Width + 50 MsgBox(我变宽了!) End Sub End Class,运行程序,例7-3,一个关不掉的窗口。,要阻止窗体关闭,可以使用FormClosing事件来处理。 在事
18、件过程中,把事件处理器传递过来的FormClosingEventArgs消息参数e的Cancel属性设置为True。 程序运行后,单击窗口右上方的“”图标,显示消息框,但不能关闭窗口终止程序。 这个窗口只能借助Windows的任务管理器来关闭了。,Public Class Form1 Private Sub Form1_FormClosing(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles MyBase.FormClosing e.Cancel =
19、True MsgBox(“Cancel!”, MsgBoxStyle.Exclamation, “操作信息) End Sub End Class,运行程序,7.3.2 输入框和消息框,VB.NET有两个可以与用户交互的函数:InputBox和MsgBox函数。 它们都是以对话框的形式,实现数据的输入和输出。 不需要使用返回值时,这两个函数也可以用语句形式调用。 InputBox和MsgBox函数还可以用在控制台应用程序中。,使用InputBox函数可以显示一个对话框,对话框中可以显示提示信息,并有一个文本框,等待用户输入数据。 用户在文本框输入数据后,InputBox函数接收输入的数据,返回文
20、本框内的字符串。 InputBox对话框也称为输入框。 语法形式: InputBox (Prompt As String, Title As String, _ DefaultResponse As String, XPos As Integer, _ YPos As Integer ) As String,1InputBox函数,必选项,指定在对话框中的显示的提示信息。,指定在对话框标题栏中的显示的提示信息。如果省略Title,则标题栏中显示应用程序名称。,指定在对话框文本框中给定的默认值。如果省略,则弹出对话框时显示的文本框为空。,用于指定屏幕左边缘与对话框左边缘之间的距离。如果省略,则对
21、话框水平居中。,用于指定屏幕顶部与对话框上边缘之间的距离。如果省略,则对话框垂直定位在屏幕向下大约三分之一处。,例7-4,设计一个程序,由用户输入立方体的长、宽、高,计算并输出立方体的表面积和体积。,界面设计: 设置5个文本框,用于显示数据;两个命令按钮,单击时执行输入数据和显示计算结果的操作。,Button1_Click过程调用InputBox函数,输入立方体的长、宽、高,并计算表面积和体积。 Button2_Click过程把数据显示在文本框中。,Public Class Form1 Dim x!, y!, z!, s!, v! Private Sub Button1_Click(ByVal
22、 sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim message, title, defaultValue As String Dim xPox% = 200位置 Dim yPox% = 300 message = 请输入长度(cm):”提示信息 title = 输入数据标题 defaultValue = 10默认值 x = Val(InputBox(message, title, defaultValue, xPox, yPox) message = 请输入宽度(cm): y
23、= Val(InputBox(message, title, defaultValue, xPox, yPox) message = 请输入高度(cm): z = Val(InputBox(message, title, defaultValue, xPox, yPox) s = (x * y + y * z + x * z) * 2 v = x * y * z End Sub,Public Class Form1 Dim x!, y!, z!, s!, v! Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e
24、As System.EventArgs) Handles Button1.Click Dim message, title, defaultValue As String Dim xPox% = 200位置 Dim yPox% = 300 message = 请输入长度(cm):”提示信息 title = 输入数据标题 defaultValue = 10默认值 x = Val(InputBox(message, title, defaultValue, xPox, yPox) message = 请输入宽度(cm): y = Val(InputBox(message, title, defau
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual Basic.NET程序设计课件 第7章 常用控件 Basic NET 程序设计 课件 常用 控件
限制150内