分享
分享赚钱 收藏 举报 版权申诉 / 61

类型《Visual Basic程序设计与应用》-徐振明 (3).ppt

  • 上传人:yjrm16270
  • 文档编号:9721520
  • 上传时间:2019-08-28
  • 格式:PPT
  • 页数:61
  • 大小:650KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    《Visual Basic程序设计与应用》-徐振明 (3).ppt
    资源描述:

    1、3.1 VB.NET程序的结构 3.2 基本语句 3.3 数据输入与输出 3.4 使用对话框 3.5 实践检验,第3章 顺序结构设计,本章知识点:VB.NET程序的结构基本语句 数据输入与输出 对话框的使用,第3章 顺序结构设计,3.1 VB.NET程序的结构,在VB.NET 中,编写的任何代码都必须按照以下顺序,否则会产生编译错误。- Option语句。- Imports语句。- Main过程。- 若适用,还有Class、Module和Namespace语句。此外,一个程序可以包括条件编译指令(如#If.Then.#Else),根据条件编译选定的 Visual Basic 代码块。这些语句可

    2、以放置在模块的任何位置,一般把它们放在结尾 3.1.1Option 语句Option 语句为后续的代码建立基本的规则,以防止语法和逻辑错误,包括Option Explicit、Option Strict及Option Compare三条语句。 1 Option Explicit 语句这种语句用于在文件级强制对该文件中的所有变量进行显式声明,可缩短以后用于调试的时间。,1)格式Option Explicit On | Off 2)说明- On :可选项。启用Option Explicit 检查。如果在Option Explicit 语句后没有指定On或Off,则默认为On。 - Off:可选项。

    3、禁用 Option Explicit 检查。如果使用,则Option Explicit 语句必须出现在文件中其他所有源语句之前。当Option Explicit 出现在文件中时,必须使用Dim、Private、Public或ReDim语句显式声明所有变量。试图使用未声明的变量名将发生编译时错误。如果没有使用Option Explicit 语句,则所有未声明的变量都是Object 类型。使用Option Explicit可避免拼错现有变量的名称,或避免在变量范围不清楚的代码中产生混淆。如果代码中没有指定Option Explicit,编译器的默认设置将是Option Explicit On。2

    4、Option Strict 语句Option Strict 语句必须出现在文件中的任何其他源代码语句之前。 VB.NET允许将某些数据类型转换为其他数据类型。在将一种数据类型的值转换为另一种精度较低或容量较小的数据类型时(即“收缩转换”),可能发生数据丢失。如果此类收缩转换失败,将会发生运行时错误。Option Strict 确保可为这些收缩转换提供编译时通知,从而可避免这种错误。1) 格式Option Strict On | Off ,2) 说明 - On:可选项。启用Option Strict 检查。如果在Option Strict 语句之后未指定On或Off,则默认为Off。 - Off

    5、:可选项。禁用 Option Strict 检查。 代码中没有指定 Option Strict,编译器的默认设置将是Option Strict Off。 3 Option Compare 语句 用于声明当比较字符串数据时所使用的默认比较方法:按它们的Binary排列或Text排列。 1) 格式 Option Compare Binary | Text 2) 说明 - Binary :可选项。按字符的内部二进制表示形式导出的排序顺序进行字符串比较。 - Text :可选项。按系统的区域设置确定的不区分大小写的文本排序顺序进行字符串比较。 如果程序未包括 Option Compare 语句,则默认

    6、的文本比较方法是 Binary。 3.1.2Imports 语句 Imports 语句允许对类和其他定义在导入命名空间的类型进行命名,而无须对它们进行限制。,1) 格式 Imports = 或: Imports = . 2)说明 - :可选项。一个名称,作为 的别名使用。当Imports 语句不包括 时,即可在文件中无条件访问指定的 中所定义的元素。如果指定 ,则必须将 用作命名空间所包含名称的限定符。当需要使用在一个或多个命名空间中声明的同名项时,别名是有用的。 - :必选项。所导入的命名空间的名称。命名空间可以有任何数量的嵌套级深度。 - :可选项。命名空间中所声明的元素名称。可以是枚举、

    7、结构、类或模块。 每个文件可以包含任意数量的 Imports 语句。Imports 语句必须位于任何声明(包括 Module 或 Class 语句)之前,并位于任何标识符引用之前。Imports 语句的可用元素的范围取决于使用Imports语句时的具体程度。例如,如果只指定了命名空间,那么该命名空间的所有惟一命名的成员、以及该命名空间内模块的成员都是无条件可用的。如果同时指定了命名空间和该命名空间的一个元素的名称,则只有该元素的成员无条件可用。不允许在模块级定义与导入别名具有相同名称的成员。,举例:导入 Microsoft.VisualBasic.Strings 类并给其分配一个别名StrN,

    8、可用来访问Right方法的。 Imports StrN = Microsoft.VisualBasic.StringsSub ShowNET ()MsgBox(StrN.Right(“VisualBasic.NET“, 4) 显示 “.NET “End Sub 3.1.3 Main过程Main过程是应用程序的起始点,即运行代码时访问的第一个过程。Main是放置需要首先访问的代码的地方。在Main中,可以决定在程序启动时首先加载的窗体,确定系统上是否已在运行用户的应用程序副本,为应用程序建立一组变量,或者打开应用程序需要的数据库。如果要在类中声明Main过程,必须使用Shared关键字。在模块中

    9、,Main不必是Shared。有四种方法可以声明Main过程: - Sub Main()。 - Sub Main(ByVal CmdArgs() As String)。 - Function Main() As Integer。- Function Main(ByVal CmdArgs() As String) As Integer。 最简单的方法是声明一个不带参数或不返回值的Sub过程,如:,Public Shared Sub Main()Main 还可以返回一个 Integer值,操作系统将其作为程序的退出代码。其他程序可以通过检查Windows ERRORLEVEL值来测试该代码。若要返

    10、回退出代码,必须将Main声明为 Function过程而不是Sub过程,如下所示: Public Shared Function Main() As IntegerMsgBox(“Hello World!“) Return 0 返0表示正常End FunctionMain还可以采用一个String数组作为参数。数组中的每个字符串均包含一个用于调用程序的命令行参数。可以根据它们的值采取不同的操作。若要获取命令行参数,以如下方式声明Main: Public Shared Sub Main(ByVal CmdArgs() As String) Dim ArgNum As Integer 命令行参数数

    11、组的索引下标变量If CmdArgs.Length 0 Then 是否有参数For ArgNum = 0 To UBound(CmdArgs) 根据命令行的不同参数做不同的处理NextEnd IfEnd Sub,3.2 基本语句,Visual Basic中的语句是完整的指令。它可以包含关键字、运算符、变量、常数和表达式。每个语句属于下面两种类别之一: 声明语句:这种语句命名变量、常数或过程,还可指定数据类型。 可执行语句:这种语句启动操作。这些语句可以执行方法或函数,它们可以依次通过或分支通过代码块。可执行语句包括赋值语句,这种语句将值或表达式赋予变量或常数。3.2.1 声明语句使用声明语句可

    12、命名和定义过程、变量、数组和常数。 声明的同时也定义了它们的范围,具体取决于放置声明的位置和用来声明它们的关键字。有关更多信息,请参见第2章的2.5.4节。下面的示例包含三个声明。Public Sub ApplyFormat()Const limit As Integer = 33Dim myWidget As Widget 插入过程代码End Sub,首先,Public Sub 语句(带有匹配的 End Sub 语句)声明名为 ApplyFormat 的过程。每当调用或运行ApplyFormat过程时,执行包含在 Public Sub 和 End Sub 语句中的所有语句。接着,Const

    13、语句声明常数 limit,指定 Integer 数据类型和初值33。最后,Dim 语句声明变量 myWidget。在此示例中数据类型是对象,即Widget对象。可以将变量声明为在使用的应用程序中公开的任何对象。Dim 语句是用于声明变量的一种语句类型。声明中使用的其他关键字有 ReDim、Static、Public、Private、Protected 和 Friend。声明语句保留创建变量所需的内存,但不显式创建它。如果变量是对象变量,则声明它时可以使用 New 关键字显式创建其类的实例,如:Dim x As New System.Windows.Forms.Form()3.2.2 赋值语句

    14、赋值语句执行赋值运算。简单的赋值运算包括将运算符右侧表达式的值赋予左侧的变量或对象的属性。运算符右侧可以是任何表达式(包括常量、变量、函数等)。 1) 格式 名称 endow 表达式 2) 说明- 名称:变量或属性的名称。 endow:赋值运算符如 =、=、&=、+= 等,请参见2.6.1节。-表达式:可以是算术、字符串、日期、关系或逻辑表达式。,先计算右边表达式的值,然后将其赋给左边的变量或对象的属性中。如:Dim x As Stringx = “Con“ & “cat“ & “enation“ x=“Concatenation“使用 Boolean 文本或 Boolean 表达式作为右侧参

    15、数,还可以赋予Boolean变量的值:Dim x As Boolean= Truex = 12 234 x = Falsex x = 45 678 Or 45 12 x = True 运算符左侧的参数还可以是属性。如设置文本框的文本属性的值:MyTextBox.Text = “This “ & “is a “ & “String“ MyTextBox.Text = “This is a String“ 调试用语句3.2.2 注释语句(Rem)格式:Rem注释内容 或 注释内容 可以将 Rem 语句单独放在一行,也可以将其放在另一语句后的行上。Rem 语句必须是该行上最后的语句。如果它跟在另一语

    16、句后面,则REM与该语句间必须有一个空格。,一般都使用单引号 ( ) 替代 Rem。无论注释是跟在同一行上的另一语句后面,还是单独在一行,都可以这样做。源代码并非始终一目了然,即使对于编写它的程序员来说也是如此。因此,为了帮助说明其代码,大部分程序员大量使用嵌入的注释。代码中的注释可以为以后阅读或使用某过程或特定指令的任何人员解释该过程或指令。但是,Visual Basic在运行过程时忽略注释。 2 暂停语句(Stop)Stop语句提供了一种以编程方式设置断点的替换方法。当调试器遇到Stop语句时,它将中断程序的执行而进入中断模式。格式:Stop程序停止执行,不释放程序占用的内存,进入中断模式

    17、。此时,可以检查各变量的值。(系统将自动打开立即窗口)可以将Stop语句放在过程的任何地方以中止执行。使用Stop 语句类似于在代码中设置断点。与End语句不同,它不关闭任何文件或清除任何变量,除非在已编译的可执行(.exe)文件中遇到。在应用程序的发布版本中应移除所有的 Stop 语句。,3 结束语句(End)结束语句(End):立即终止执行,使其他程序所持有的对象引用无效。格式:EndEnd语句提供一种强迫程序停止的方法,可以放在过程的任何位置以结束代码执行,关闭用Open语句打开的文件,并且清除变量,释放内存。End 语句调用 System 命名空间中的Environment类的Exit

    18、方法。 System.Environment.Exit要求使用者具有SecurityPermiss- ionFlag.UnmanagedCode 权限。如果使用者没有该权限,则会出现 SecurityException 错误。当执行时,End 语句清除模块级和类级的所有变量以及所有模块中的全部静态局部变量。当与其他关键字一起使用时,End 指示过程或块的定义的结尾。如:End Class、End Enum、End Function、End If、End Structure、End Sub、End Get、End Interface、End Module、End Namespace、End Pr

    19、operty、End Select、End Set、End SyncLock、End Try、End While、End With。除了前面介绍的这些语句之外,Visual Basic还有流控制语句及其他语句。 4 Debug.Print 方法 此方法是.NET Framework 2.0 版新增的,可将字符串信息显示在输出窗口。,用法:Dim message As StringDebug.Print(message) 5 Console.Write 方法 将指定的数据写入标准输出流。用法:Dim message As StringConsole.Write (message)或 Dim fo

    20、rmat As StringDim arg As ObjectConsole.Write(format, arg)format参数由零或多个文本序列与零或多个索引占位符混合组成,其中索引占位符称为“格式项”,它们与此方法的参数列表中的对象相对应。格式设置过程将每个格式项替换为对应对象的值的文本表示形式。arg参数是要使用 format 写入标准输出流的对象、对象数组及各种变量的文本表示形式,可参见表3-1所示。 6 Console.WriteLine 方法 Console.WriteLine 方法与Console.Write方法一样,将指定的数据写入标准输出流,但Console.WriteLi

    21、ne 方法后要跟当前行结束符,即要换行。,以下为Console.WriteLine方法的用法示例:Private Sub Button1_Click()Static X, Y As IntegerY=1Y=Y + 5X=5 + XConsole.WriteLine( “X=0;Y= 1”,X,Y) End Sub3.2.4 语句的书写规则 1) 一行中有多条语句在一行中可以有多条语句,语句之间用冒号(:)字符分隔。例如:Dim MyString As String = “Hello World“ : MsgBox(MyString)虽然这种形式的语法偶尔带来方便,但是它使代码难以阅读和维护。因

    22、此,建议读者保持一行一条语句。 2) 跨多行继续一条语句通常一行容纳一条语句,但当一行中容纳不下时,可以使用行继续符在下一行继续一条长语句,行继续符由一个空格及一个下划线字符“_”组成。在下面的示例中,MsgBox 可执行语句连续跨两行:,Public Sub DemoBox() This procedure displays a message.Dim myVar As StringmyVar = “John“MsgBox(“Hello “ & myVar & _“. How are you?“) End Sub 3 检查编译错误键入一行代码后,如果该行显示有蓝色波浪下划线(也可能显示错误信

    23、息),则该语句中有语法错误。必须找出语句中有什么错误(例如通过查找任务列表,或通过悬停在错误上并阅读帮助文本),然后改正它。在修复代码中的所有语法错误之前,程序无法正确地进行编译。,3.3 数据输入与输出,一个应用程序通常可分为:输入、处理和输出三部分。Visual Basic的输入输出有着十分丰富的内容和形式,它提供了多种手段,并可通过各种控件及方法实现输入输出操作,使输入输出更加灵活、多样、方便和形象直观。程序通过输入操作接收数据,然后程序代码对输入的数据进行处理,最后将处理完的数据以完整有效的方式提供给用户,也就是输出。3.3.1使用标签(Label)控件输出 Label 控件用于显示用

    24、户不能编辑的文本(Text属性)及图像(Image属性),不能接收焦点,一般用于显示描述性信息。例如,如果应用程序需要几分钟时间处理更改,则可以在Label中显示处理状态的消息。TextAlign 属性用于设置文本在标签内的对齐方式,可通过设置BorderStyle、BackColor、ForeColor和Font等属性来改变Label的边界、背景颜色、字体颜色及字体。默认前提下AutoSize为False,即Label的边界不变,Text的内容超出边界时自动换行。为使控件能够自动调整宽度,必须将AutoSize属性设置为True,这样Label的边界可水平扩充以适应Text属性内容。此外,还

    25、有一些定位属性等。,例3-1 将标签的信息“程序设计”显示在窗体与命令按钮的正中央,如图3-1所示。图3-1 输出字符串对中Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim TextW, TextH As SingleLabel1.Text = “程序设计“TextW =(Me.Size.Width - Label1.Size.Width) / 2 TextH =(Button1.Top - Label1.Size.Heig

    26、ht) / 2 Label1.Left = TextWLabel1.Top = TextHEnd Sub输出文本位置的定位点,在文本的左上角。文本左上角的X坐标值是窗体的宽度(Me.Size.Width)减去文本宽度Label1.Size.Width的一半,即TextW。为了使Label1中的文本能正好显示在Label1框内,可将AutoSize属性设置为True。Y坐标值是Button1的Y轴定位坐标(Button1.Top)减去文本高度(Label1.Size.Height)的一半,即TextH,如图3-1所示。,3.3.2 使用文本框(TextBox)控件 TextBox控件用于获取用户

    27、输入或显示文本。TextBox 控件通常用于可编辑文本,不过也可使其成为只读控件。TextBox可以显示多行文本,对文本换行使其符合控件的大小以及添加基本的格式设置。常用属性如表3-2所示。若要显示多种类型的带格式文本,请使用 RichTextBox 控件。,控件显示的文本包含在 Text 属性中。默认情况下,最多可在一个文本框中输入2048个字符。如果将MultiLine属性设置为 True,则最多可输入32KB的文本。Text 属性可以在设计时使用【属性】窗口设置,在运行时通过代码设置。注意:如果MultiLine属性被设为True时,PassWordChar属性将不起作用。密码框是一种

    28、Windows 窗体文本框,它在用户键入字符串时显示占位符。,1 创建密码文本框 1) 将 TextBox 控件的 PasswordChar 属性设置为某个特定字符PasswordChar 属性指定在文本框中显示的字符。例如,如果希望在密码框中显示星号,则请在【属性】窗口中将 PasswordChar 属性指定为 “*”。然后,无论用户在文本框中键入什么字符,都显示为星号(“*”)。 2) 设置 MaxLength 属性(可选)此属性确定可在文本框中键入多少字符。如果超过了最大长度,系统会发出声响,且文本框不再接受任何字符。 下面的代码将初始化一个文本框,此文本框接受最长可达10个字符的字符串

    29、,并显示星号来替代字符串。Password过程不会自动执行,而需进行调用。用户输入密码时,界面上显示为星号,但输入的文本并未以任何方式进行加密,所以应该像处理其他机密数据一样处理。 2 TextBox 控件中的插入点当 Windows 窗体 TextBox 控件最初收到焦点时,文本框内的默认插入位置是在任何现有文本的左边。用户可以使用键盘或鼠标来移动插入点。如果文本框失去焦点而后又再次获得焦点,则插入点为用户上一次放置的位置。,在某些情况下,此行为可能给用户带来不便。在字处理应用程序中,用户可能希望新字符显示在任何现有文本的后面。在数据输入应用程序中,用户可能希望新字符替换任何现有项。Sele

    30、ctionStart 属性和 SelectionLength 属性使您可以修改插入点行为,使之适合您的用途。 - SelectionStart = 0 及SelectionLength = 0 时,插入点在第一个字符的左边。 - SelectionStart = 0及SelectionLength = Len(TextBox1.Text)选中文本框中的所有文本。3.3.3 使用图片框(PictureBox)控件输入/输出图片 1 PictureBox 控件支持的图片文件格式 使用PictureBox 控件用于显示位图、GIF、JPEG、图元文件或图标格式的图片。所显示的图片由 Image 属性

    31、确定,该属性可在运行时或设计时设置。 使用PictureBox 控件,可以在设计时将 Image 属性设置为有效图片,从而在窗体加载后显示图片,可接受的文件类型及扩展名如表3-3所示。,2 安装 Visual Studio 2005 图像库Visual Studio 2005 图像库由1000 多幅图像组成,包括出现在Microsoft Windows、 Microsoft Office、Microsoft Visual Studio 和其他 Microsoft 软件中的图像。该图像库包括三种主要类别的图像:动画、位图和图标。每个主要区域都包含一个自述文件 *readme.htm。这些自述文件

    32、提供了有关在应用程序中合理使用这些图像的信息。在 Visual Studio 的安装过程中,该图像库被作为 VS2005ImageLibrary.zip 压缩文件复制到计算机中。此文件的默认目录是:.Program FilesMicrosoft Visual Studio8Common7VS2005ImageLibrary。若要访问图像库中的文件,必须将文件从 VS2005ImageLibrary.zip 文件中提取出来。,3 在设计时加载图片 设计时通过将 Image 属性为PictureBox 控件设置一个有效图片,从而在窗体上加载和显示图片。具体步骤如下: (1)在窗体上绘制 Pictu

    33、reBox 控件。 (2)在“属性”窗口中,选择 Image 属性,然后单击省略号按钮以显示“打开”对话框。 (3)如果要查找特定文件类型(例如 .ico 文件),请在“文件类型”框中选择该类型。 (4)选择要显示的文件。 4 在运行时设置图片可以在编程中设置 PictureBox 控件显示的图像。在下面的示例中,图像位置的路径设置是E盘的“图像”文件夹,文件包括face00.ico、face01.ico、face02.ico、face03.ico 4个文件。下面的示例假定窗体已添加了 PictureBox 控件和Button控件。 1)使用 Image 类的 FromFile 方法设置 Im

    34、age 属性 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickStatic i As Integeri = (i + 1) Mod 4Me.PictureBox1.Image = Image.FromFile(“E:图像“ & “face0“ & i.ToString & “.ico“) End Sub,2) 使用 Bitmap 类设置 Image 属性 Private Sub Button1_Click(ByVal sender

    35、 As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Static i As Integeri = (i + 1) Mod 4PictureBox1.Image = New System.Drawing.Bitmap (“E:图像“ & “face0“ & i.ToString & “.ico“) End Sub 运行程序后,每按一次Button1按钮,改变显示的图片,如图3-2所示。,5 在设计时清除图片 在【属性】窗口中,选择Image属性,并右击出现在图像对象名称左边的小缩略图图像,在弹出的菜单中选择“

    36、重置”。程序中可将图像位置的路径设置空字符串即可。 6 PictureBox 控件的 SizeMode 属性- SizeMode属性可以设置为 Normal(默认)、AutoSize、CenterImage 或 StretchImage 4种属性值:- Normal:表示图像放置在控件的左上角。如果图像大于控件,则剪裁图像的右下边缘。- CenterImage:表示图像在控件内居中。如果图像大于控件,则剪裁图片的外边缘。- AutoSize:表示将控件的大小调整为图像的大小。- StretchImage:表示将图像的大小调整到控件的大小。- Zoom:表示将图像大小按其原有的大小比例被增加或减

    37、小。3.3.4 使用焦点 当对象具有焦点(Focus)时才能响应用户的输入,如文本框具有焦点时,用户输入的信息才会显示在文本框中。,在运行模式下,具有焦点的对象通常会突出显示,如某窗体具有焦点时,该窗体的标题栏呈深蓝色显示。文本框具有焦点时,该文本框中出现插入点光标。Button按钮具有焦点时,该按钮上带有一个“虚线框”标记等。 仅当控件的Visible和Enabled属性被设置为真(True)时,控件才能接收焦点。某些控件不具有焦点,从这些控件派生的控件也不具有焦点,如:Panel、GroupBox、PictureBox、ProgressBar、Splitter、Label等。当控件获得焦点

    38、时,会引发GotFocus事件,而失去焦点时,将会引发LostFocus事件。可以用控件的Focus方法在代码中设置焦点,如将焦点放到文本框TextBox1上,可用:TextBoxl.Focus() 在程序运行的时候,用户可以按下列方法改变焦点: (1)单击对象。 (2)按快捷键【Tab】在当前窗体的各对象之间按TabIndex属性值的顺序移动焦点。 (3)按热键选择对象。TabIndex属性决定控件接收焦点的顺序,TabStop属性决定焦点是否能够停留在该控件上。当在窗体上画出第1个控件时,VB.NET自动分配给控件的TabIndex属性默认值为0,第2个控件的TabIndex属性默认值为1

    39、,依此类推。通过改变控件的TabIndex属性值,可以改变默认的焦点移动顺序。,如果控件的TabStop属性设置为假(False),则在运行中按快捷键【Tab】选择控件时,将跳过该控件,并按焦点移动顺序把焦点移到下一个控件上。3.3.5 使用分组框(GroupBox)控件Windows 窗体的GroupBox 控件显示围绕一组控件的框架(带或不带标题)。GroupBox是一种容器类控件,对窗体上的控件进行逻辑分组。在GroupBox控件内部的控件可以随GroupBox一起移动,并且受到GroupBox控件某些属性(Visible、Enabled)的控制。图3-3 GroupBox逻辑分组开发应

    40、用程序时一个常见的任务是将控件添加到窗体上的任何容器控件中,在VB.NET中,Form、PictureBox 、Panel(面板)、GroupBox 都是控件。在设计时,可以直接将控件拖到Panel或GroupBox上。GroupBox 控件可以美化Windows窗体界面。此外,它的另一个典型用途是对 RadioButton(单选按钮)控件的进行逻辑分组。如果有2个GroupBox,每个GroupBox都包含多个单选按钮,每组中的单选按钮(RadioButton)都互相排斥,则每组设置一个选项值,如图3-3所示。程序中可通过使用 Controls的 Add 方法,可将控件添加到GroupBox

    41、中。GroupBox 本身不能被选中或者接收焦点,但GroupBox控件中所包含的控件可以被选中或接收焦点。,3.3.6 使用面板(Panel)控件与GroupBox 控件一样,Panel 控件可对窗体上的控件进行逻辑分组。但Panel 控件没有显示标题,而且还可以有滚动条。Windows 窗体 Panel 控件既可以显示背景颜色又可以显示背景图像。BackColor 属性为所包含的控件(如标签和单选按钮)设置背景颜色。如果未设置 BackgroundImage 属性,则 BackColor 选项将填充整个面板。如果设置了 BackgroundImage 属性,则该图像将显示在所包含的控件后。

    42、,3.4 使用对话框,3.4.1 Windows窗体中的对话框对话框用于与用户进行交互。从另一个角度来说,对话框是一个窗体,该窗体的属性FormBorderStyle设置为 FixedDialog。因此,可以使用 Windows 窗体设计器构造自己的自定义对话框。可以通过添加控件(例如 Label、TextBox 和 Button)来自定义对话框以满足您的特定需要。.NET Framework 也包括预定义对话框(如“打开文件”和消息框),可以在自己的应用程序中直接使用。3.4.2 显示有模式和无模式 Windows 窗体窗体和对话框要么是有模式的,要么是无模式的。有模式窗体或对话框必须关闭或

    43、隐藏,才能继续使用应用程序的其余部分。根据上述说明,认为显示重要消息的对话框应始终是有模式的。模式对话框的一个示例是 Visual Studio 中的“关于”对话框。将窗体显示为有模式对话框,可用 ShowDialog 方法,如: Dim frmAbout as New Form()frmAbout.ShowDialog(),无模式窗体允许在窗体之间变换焦点,而不必关闭初始窗体。因此,无模式窗体的编程难度更大,因为用户访问这些窗体的顺序可能无法预知,无论用户执行什么操作,都必须使该应用程序的状态保持一致。工具窗口经常以无模式方式显示。无模式对话框的一个示例是 Visual Studio 中可从

    44、“编辑”菜单访问的“查找”对话框。使用无模式窗体可显示常用的命令或信息。将窗体显示为无模式对话框,可用 Show 方法,如: Dim frmAbout as New Form() frmAbout.Show () 3.4.3 显示信息信息对话框函数(MsgBox)MsgBox函数的功能是通过对话框向用户传送信息,用户根据在对话框中显示的信息,单击适当的按钮,系统将返回一个整数,指示用户单击了哪个按钮(如表3-5所示),以便决定程序的流向。语法格式MsgBox(Prompt ,Buttons, Title ) 1) 参数说明- Prompt:必选项。以消息形式显示在对话框中的 String 表达

    45、式。如果 Prompt 中包含多个行,则可在各行之间用回车换行符(Chr(13) & Chr(10)分隔各行。,- Buttons:可选项。数值表达式,它如表3-4所示中五类枚举数值的总和。指定显示的按钮数目,按钮类型,使用的图标样式,默认按钮的标识以及消息框的样式。如果省略Buttons,则默认值为零。 - Title:可选项。显示在对话框标题栏中的 String 表达式。如果省略 Title,则将应用程序名放在标题栏中。Buttons参数值如表3-4所示中5类数值组成,常用的是前3类。其组成原则是:从每一类中选择一个值,把这几个值加在一起,不同的组合会得到不同的结果。例如:从“按钮类别”中

    46、选值1、从“图标类型”中选值64、从“默认按钮”中选值0,然后,将这3个加起来就得到参数Buttons的值为65=1+64+0,对话框内显示“确定”、“取消”按钮和“暂停”图标,默认按钮为“确定”。,下面的程序执行时,界面情况如图3-4所示。Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim x%x% = MsgBox(“Buttons=65 的样式“, 65, “Buttons 参数的使用“)End Sub,在VB中,每种数

    47、值都有相应的符号常量,其作用与数值相同。使用符号常量可以提高程序的可读性。,2) 函数返回值MsgBox函数返回值是一个整数,这个整数与程序运行时所选择的按钮有关。MsgBox函数所显示的对话框共有7种按钮,函数的返回值与这7种按钮相对应,如表3-5所示。,3.4.4 消息提示消息框类(MessageBox)MessageBox是一个预定义对话框,它将与应用程序相关的信息显示给用户。显示可包含文本、按钮和符号(通知并提示用户)的消息框。MessageBox 类的 Show 方法比MsgBox()函数的功能更丰富,除了MsgBox()已有的功能外,还可指定对象的前面显示,使用指定的帮助文件显示等

    48、MsgBox()没有的功能。MessageBox 类的Show方法共有21种调用格式,具体可参照Visual Studio.NET的MSDN。在Visual Basic中,仍然支持使用 MsgBox() 创建要显示给用户的消息框,不过Microsoft建议首选方法还是使用MessageBox.Show()。如使用指定的帮助文件显示一个具有指定文本、标题、按钮、图标、默认按钮、枚举选项和“帮助”按钮的消息框的MessageBox.Show()语法格式如下:Public Shared Function Show ( text As String, _caption As String, _butt

    49、ons As MessageBoxButtons, _icon As MessageBoxIcon, _defaultButton As MessageBoxDefaultButton, _,options As MessageBoxOptions, _helpFilePath As String _ ) As DialogResult MessageBox 是一个模式窗体,用MessageBox 类的 Show 方法可在消息框中向用户显示信息,也可接受输入,通过接收到的输入来确定用户所做的选择。Show方法返回的值是整数。3.4.5 输入数据输入框函数(InputBox) 数据输入函数Inp

    50、utBox可以产生一个对话框作为界面,等待用户输入并返回所输入的内容。用户输入的数据作为InputBox的函数值,是以字符串类型给出。 1) 语法格式 Public Function InputBox( ByVal Prompt As String, _ Optional ByVal Title As String = “, _ Optional ByVal DefaultResponse As String = “, _ Optional ByVal XPos As Integer = -1, _ Optional ByVal YPos As Integer = -1 _ ) As String,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《Visual Basic程序设计与应用》-徐振明 (3).ppt
    链接地址:https://www.docduoduo.com/p-9721520.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开