版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、WindowsCOM+ Services公共语言运行时公共语言运行时(CLR)基类库(基类库(Base Class Library)ADO.NET and XMLASP.NETWindows Forms公共语言规范公共语言规范(Common Language Specification)VBC+C#JScriptVisual Studio.NET标题栏标题栏菜单栏菜单栏控件工控件工具箱具箱窗体设窗体设计器计器动态帮助窗口动态帮助窗口解决方案资源管理器解决方案资源管理器工具栏工具栏属性设属性设置窗口置窗口Visual Basic .NET 工具栏工具栏功能:提供VB常用命令的快捷方式,以及其他辅
2、助功能标准工具栏布局工具栏2.3 Visual Basic .NET2.3 Visual Basic .NET菜单栏菜单栏功能:功能:访问或执行访问或执行VBVB的所有功能(命令的所有功能(命令) 在程序中处理数据时,对于输入的数据、参加运算的数据和在程序中处理数据时,对于输入的数据、参加运算的数据和运行过程中的临时数据,通常将它们暂时存储在计算机内存中。运行过程中的临时数据,通常将它们暂时存储在计算机内存中。在机器语言与汇编语言中,通过对内存单元的编号(称为地址)在机器语言与汇编语言中,通过对内存单元的编号(称为地址)来访问内存中的数据,而在高级语言中,需要对存放数据的内存来访问内存中的数据
3、,而在高级语言中,需要对存放数据的内存单元命名,程序通过内存单元名来访问内存中的数据。被命名的单元命名,程序通过内存单元名来访问内存中的数据。被命名的内存单元称为变量,这个存储单元的名字称为变量名,变量的类内存单元称为变量,这个存储单元的名字称为变量名,变量的类型是指该变量可以存储数据的类型。型是指该变量可以存储数据的类型。 对于常量,在程序运行期间,其内存单元中存放的数据始终对于常量,在程序运行期间,其内存单元中存放的数据始终不变;对于变量,在程序运行期间,其内存单元中存放的数据可不变;对于变量,在程序运行期间,其内存单元中存放的数据可以根据需要随时改变,即在程序运行的不同时刻,存入新的数据
4、以根据需要随时改变,即在程序运行的不同时刻,存入新的数据后,原来的数据将被覆盖。后,原来的数据将被覆盖。下面是错误的或使用不当的变量名:下面是错误的或使用不当的变量名:代码书写规则代码书写规则(1) (1) 一行可写多条语句,语句间用一行可写多条语句,语句间用“: :”号隔开。号隔开。(2) (2) 一条语句可分为若干行书写,在行末加续行一条语句可分为若干行书写,在行末加续行符符“ _ _”( (一个空格和一个下划线组成一个空格和一个下划线组成) )。(3) (3) 一行最多允许书写一行最多允许书写255255个字符。个字符。(4) (4) 变量名不区分大小写变量名不区分大小写注释有利于程序的
5、维护和调试注释有利于程序的维护和调试 使用注释是提高程序可读性的很好方法,通过使用注释语使用注释是提高程序可读性的很好方法,通过使用注释语句来说明自己编写某段代码的作用或声明某个变量的目的。句来说明自己编写某段代码的作用或声明某个变量的目的。(1) (1) 以以RemRem开头后跟被注释语句,或以被注释语句开头后跟开头后跟被注释语句,或以被注释语句开头后跟 以单引号开头的注释内容。以单引号开头的注释内容。 例如:例如:Dim x As Integer Dim x As Integer 声明声明x x为整型变量为整型变量Rem Dim x As Integer Rem Dim x As Inte
6、ger (2) (2) 也可以使用工具栏,单击也可以使用工具栏,单击“设置注释块设置注释块”、“解除注解除注释块释块”按钮,如图所示。按钮,如图所示。1 1 数组的基本概念数组的基本概念 数组是数组是VBVB提供的一种数据结构。用统一的名称来提供的一种数据结构。用统一的名称来代表具有相同性质的一组数,该名称为数组名。数组代表具有相同性质的一组数,该名称为数组名。数组中的每一个元素称为数组元素。为了区分数组中的每中的每一个元素称为数组元素。为了区分数组中的每一个元素,需要用一个索引号区别,该索引号称为下一个元素,需要用一个索引号区别,该索引号称为下标。数组中的每一个元素可以用数组名和下标惟一表标
7、。数组中的每一个元素可以用数组名和下标惟一表示。每个数组元素和一个普通变量一样能存放一个数示。每个数组元素和一个普通变量一样能存放一个数据。据。2 2 数组的声明数组的声明 在在VBVB中,使用数组前要先进行声明,以使中,使用数组前要先进行声明,以使VBVB在遇到某个标在遇到某个标识符时,能将其当作数组来处理。识符时,能将其当作数组来处理。“先声明后使用,下标不能先声明后使用,下标不能越界越界”是数组使用的基本原则。是数组使用的基本原则。 在用在用DimDim语句声明时就确定了大小的数组,称为静态数组,语句声明时就确定了大小的数组,称为静态数组,静态数组在程序编译时分配存储空间,一旦分配,数组
8、的大小静态数组在程序编译时分配存储空间,一旦分配,数组的大小就不能再改变了。就不能再改变了。 2 2 数组的声明数组的声明1 1)一维静态数组)一维静态数组格式:格式:Dim Dim 数组名(上界)数组名(上界)As As 作用:声明数组具有作用:声明数组具有“上界上界”个数组元素,这些元素个数组元素,这些元素 按照下标由小到大的顺序连续存储在内存中。其中:按照下标由小到大的顺序连续存储在内存中。其中: 数组名数组名 命名要符合变量命名规则。命名要符合变量命名规则。确定数组元素下标的取值范围(上界最大值为确定数组元素下标的取值范围(上界最大值为3276732767)。下)。下界默认值为界默认值
9、为0 0。 As As 指明数组元素的类型,默认为变体数指明数组元素的类型,默认为变体数据类型。据类型。 2 2 数组的声明数组的声明2 2)二维静态数组)二维静态数组格式:格式:Dim Dim 数组名数组名( (上界上界1, 1, 上界上界2)2)As As 作用:作用:声明声明( (上界上界1 1) )* *( (上界上界2 2) )个连续的单元。个连续的单元。例如:例如:Dim Larray(3Dim Larray(3,4) As Long4) As Long 声明了长整型的二维数组声明了长整型的二维数组LarrayLarray,第,第1 1维下标范围为维下标范围为0 03 3,第第2
10、2维下标范围为维下标范围为0 04 4,数组元素个数为,数组元素个数为4 4* *5 5个,每个元素占个,每个元素占4 4个字节的存储空间,元素排列如表所示。个字节的存储空间,元素排列如表所示。 2 2 数组的声明数组的声明3 3)动态数组声明)动态数组声明 动态数组是指在程序执行过程中,数组元素的个数可以改动态数组是指在程序执行过程中,数组元素的个数可以改变的数组。和静态数组类似,也分为一维动态数组、二维动态变的数组。和静态数组类似,也分为一维动态数组、二维动态数组和三维动态数组。数组和三维动态数组。 动态数组在用动态数组在用DimDim语句声明数组时不给出数组的大小,程语句声明数组时不给出
11、数组的大小,程序执行到序执行到ReDimReDim语句时才确定大小。创建动态数组通常分两步:语句时才确定大小。创建动态数组通常分两步:2 2 数组的声明数组的声明3 3)动态数组声明)动态数组声明 第第1 1步,在标准模块、窗体的通用程序段或过程,声明一步,在标准模块、窗体的通用程序段或过程,声明一个省略维说明的数组,格式为:个省略维说明的数组,格式为:Dim Dim 数组名()数组名()As As 第第2 2步,根据应用需要,用步,根据应用需要,用ReDimReDim重新确定数组元素的个数,格重新确定数组元素的个数,格式为:式为:ReDim ReDim 数组名(维说明)数组名(维说明)As
12、As 1 1 块块IfIf单分支结构单分支结构 块块IfIf的语法结构如下:的语法结构如下: If If Then Then End If End If 程序执行过程如下:当条件成立时,执行程序执行过程如下:当条件成立时,执行If If 与与End IfEnd If之之间的语句组,执行完后,执行间的语句组,执行完后,执行End IfEnd If之后的语句;否则,跳过之后的语句;否则,跳过语句组直接执行语句组直接执行End IfEnd If之后的语句,这种情况,相当于之后的语句,这种情况,相当于IfIf结构结构不存在。不存在。1 1 块块IfIf单分支结构单分支结构几点说明:几点说明:(1) (
13、1) 条件可以是关系表达式、布尔表达式或数值表达式。如果条件可以是关系表达式、布尔表达式或数值表达式。如果 以数值表达式作为条件,则非以数值表达式作为条件,则非0 0为真,为真,0 0为假。为假。(2) (2) 语句组可为多条语句。语句组可为多条语句。 (3) If (3) If 与与End IfEnd If必须配对使用。必须配对使用。 2 2 块块IfIf双分支结构双分支结构块块IfIf双分支结构语法结构:双分支结构语法结构: If If Then Then 1 Else Else 2 End If End If执行过程:当条件成立时执行语句组执行过程:当条件成立时执行语句组1 1,否则执行
14、语句组,否则执行语句组2 2。然。然 后执行后执行End IfEnd If之后的语句之后的语句 其它说明与块其它说明与块IfIf单分支结构相同。单分支结构相同。 3 3 块块IfIf多分支结构多分支结构 块块IfIf多分支结构的语法格式:多分支结构的语法格式: If If Then1 Then 1 ElseIf ElseIf Then2 Then 2 ElseIf ElseIf Thenn Then n Else Else n+1 End If End If3 3 块块IfIf多分支结构多分支结构执行过程:按书写顺序从上到下依次判断条件,当遇到第一个执行过程:按书写顺序从上到下依次判断条件,当
15、遇到第一个 满足的条件后即执行相应的语句组,然后便执行满足的条件后即执行相应的语句组,然后便执行 End IfEnd If之后的语句。属于之后的语句。属于“多中选一多中选一”的情况。的情况。注意:注意:(1) ElseIf(1) ElseIf不能写成不能写成Else If Else If ,即,即ElseElse与与IfIf之间不能有空格;之间不能有空格;(2) (2) 当多分支中有多个表达式同时满足时,仅执行第一个满足当多分支中有多个表达式同时满足时,仅执行第一个满足 条件的语句组。条件的语句组。 4. Select Case4. Select Case Select Case Select
16、 Case的结构形式为:的结构形式为: Select Case Select Case Case Case 1 1 Case Case 2 2 Case Case n n Case Else Case Else n+1 End Select End Select 和顺序结构、选择结构一样,循环结构是结构化程序设和顺序结构、选择结构一样,循环结构是结构化程序设计的三种基本结构程序结构之一。在程序设计中,把重复执行计的三种基本结构程序结构之一。在程序设计中,把重复执行的一组指令(程序段)的操作称为循环操作。根据循环次数预的一组指令(程序段)的操作称为循环操作。根据循环次数预先确定与否,循环结构分为
17、循环次数确定的先确定与否,循环结构分为循环次数确定的ForForNextNext结构和结构和循环次数不确定的循环次数不确定的DoDoLoopLoop结构,其中,结构,其中,DoDoLoopLoop结构又可以结构又可以分为前测试和后测试循环两种,每一种结构又对应了两种形式,分为前测试和后测试循环两种,每一种结构又对应了两种形式,如图如图6 6所示。所示。前测试当型循环前测试当型循环Do WhileDo WhileLoopLoop结构表示为:结构表示为: Do While Do While Loop Loop其中:其中:(1) (1) 循环条件为循环测试条件,可以是关系表达式、布尔表达循环条件为循
18、环测试条件,可以是关系表达式、布尔表达式或数值表达式。如果是数值表达式,则非式或数值表达式。如果是数值表达式,则非0 0为真,为真,0 0为假;图为假;图 6-2 6-2 前测试循环结构流程图循环前语句循环条件循环体语句循前测试循环结构流程图循环前语句循环条件循环体语句循环后语句假真环后语句假真(2) (2) 循环执行过程是:当条件成立时,执行循环体;当条件不循环执行过程是:当条件成立时,执行循环体;当条件不成立时,退出循环,执行成立时,退出循环,执行LoopLoop之后的语句。之后的语句。前测试当型循环前测试当型循环Do WhileDo WhileLoopLoop结构表示为:结构表示为: D
19、o While Do While Loop Loop其中:其中:使用使用Do WhileDo WhileLoopLoop循环时应注意如下问题:循环时应注意如下问题:循环体中必须有一条语句改变循环控制变量的值,使得在某循环体中必须有一条语句改变循环控制变量的值,使得在某一时刻循环变量不满足循环测试条件而退出循环;一时刻循环变量不满足循环测试条件而退出循环;若循环体中加入若循环体中加入“Exit DoExit Do”语句,程序只要运行到这条语句,语句,程序只要运行到这条语句,循环会立即终止,去执行它所在循环的循环会立即终止,去执行它所在循环的LoopLoop语句之后的语句。语句之后的语句。“Exi
20、t DoExit Do”语句叫强行终止语句叫强行终止DoDo循环语句。循环语句。例例 从键盘上输入若干个数,求其平均值。从键盘上输入若干个数,求其平均值。 Dim sum, n As IntegerDim sum, n As Integer Dim x As String Dim x As String Dim aver As Decimal Dim aver As Decimal sum = 0 sum = 0 累加器初值置累加器初值置0 0 n = 0 n = 0 计数器初值置计数器初值置0 0 x = InputBox( x = InputBox(请输入:请输入:) ) 输入第输入第1
21、1个数个数 Do While x endDo While x end sum = sum + CInt(x) sum = sum + CInt(x) n = n + 1 n = n + 1 x = InputBox( x = InputBox(请输入:请输入:) ) 输入下输入下1 1个数个数 LoopLoop If n 0 Then If n 0 Then aver = sum / n aver = sum / n MsgBox( MsgBox(共输入共输入 & n & & n & 个数,平均值为:个数,平均值为: & aver) & aver
22、) Else Else MsgBox( MsgBox(本次运行未输入数据本次运行未输入数据) End If End If例例 从键盘上输入两个整数从键盘上输入两个整数M M,N N,求最大公约数,求最大公约数, ,代码如下:代码如下: Dim m%, n%, r%Dim m%, n%, r% m = InputBox( m = InputBox(请输入请输入M)M) n = InputBox( n = InputBox(请输入请输入N)N) r = m Mod n r = m Mod n Do While r 0 Do While r 0 m = n m = n n = r n = r r =
23、 m Mod n r = m Mod n Loop Loop MsgBox ( MsgBox (两个数的最大公约数为两个数的最大公约数为 & n & & n & “) )ForForNextNext结构的格式为:结构的格式为: For For 循环变量循环变量= =初值初值 To To 终值终值 Step Step 步长步长 Next Next 循环变量循环变量 说明:说明:(1) (1) 循环变量必须是数值型,且最好为整型变量。循环变量必须是数值型,且最好为整型变量。(2) (2) 步长为正时,初值须小于终值;步长为负时,初值须大于步长为正时,初值须小于终值;
24、步长为负时,初值须大于 终值,循环才能进行。当步长为终值,循环才能进行。当步长为1 1时,时,StepStep子句可省。子句可省。【例例】对一页纸复印对一页纸复印5 5遍的模拟算法遍的模拟算法Private Sub Command1_Click()Private Sub Command1_Click()Dim i As IntegerDim i As Integer For i = 1 To 5 For i = 1 To 5 Print Print “已经复印了第已经复印了第” & i & & i & 页页 Next NextEnd SubEnd Sub说明:说
25、明:(3) (3) 若循环体没有被执行,若循环体没有被执行,ForForNextNext循环作用仅相当于对循循环作用仅相当于对循环变量赋初值一次。环变量赋初值一次。 例如下面程序:例如下面程序: For i = 5 To 1 Step 1 For i = 5 To 1 Step 1 Print i; Print i; Next i Next i Print i Print i 由于循环变量的初值大于终值且步长为由于循环变量的初值大于终值且步长为1 1,所以循环体不,所以循环体不被执行,最后输出被执行,最后输出i i的值为的值为5 5。 当选择结构中满足或不满足条件的语句组又是一个选择结当选择结
26、构中满足或不满足条件的语句组又是一个选择结构时,称为选择嵌套。同样,当循环中循环体又是一个循环结构时,称为选择嵌套。同样,当循环中循环体又是一个循环结构,这种形式称循环嵌套。根据嵌套循环的层数不同,可以有构,这种形式称循环嵌套。根据嵌套循环的层数不同,可以有二重循环、三重循环等。二重循环、三重循环等。 多重循环的执行过程是:外层循环每执行一次,内层循环多重循环的执行过程是:外层循环每执行一次,内层循环就要从头开始执行一轮。下面通过两个例子说明循环嵌套的使就要从头开始执行一轮。下面通过两个例子说明循环嵌套的使用和执行过程。用和执行过程。 使用嵌套时应注意:使用嵌套时应注意:(1) (1) 内层循
27、环必须完全嵌套在外层循环之内,即内外嵌套不能内层循环必须完全嵌套在外层循环之内,即内外嵌套不能 交叉,外层要完全包含内层。交叉,外层要完全包含内层。X使用嵌套时应注意:使用嵌套时应注意:(2) (2) 在循环嵌套中,内外循环的循环变量不能同名。在循环嵌套中,内外循环的循环变量不能同名。(3) (3) 当多重当多重ForForNextNext循环的循环的NextNext语句连续出现时,语句连续出现时,NextNext语句语句 可以合并成一条,可以合并成一条,NextNext后跟着各循环控制变量列表,且内后跟着各循环控制变量列表,且内 层循环变量写在前面,外层循环变量写在后面。层循环变量写在前面,
28、外层循环变量写在后面。事件过程(事件过程(Sub Sub 对象名对象名_ _事件名)事件名)SubSub过程,又称通用过程,或子过程过程,又称通用过程,或子过程FunctionFunction过程,称过程,称函数函数2. Sub2. Sub过程的调用过程的调用 SubSub过程调用有两种格式:过程调用有两种格式: 第第1 1种格式:种格式:Call Call 过程名过程名 (参数列表)(参数列表) 第第2 2种格式:过程名(参数列表)种格式:过程名(参数列表)说明:说明:A A 参数列表参数列表 代表要传送给代表要传送给SubSub过程的实际的值,可以为常过程的实际的值,可以为常 量、变量、数
29、组元素、数组名或表达式等形式。参数之间量、变量、数组元素、数组名或表达式等形式。参数之间 用逗号分隔。与形参相对应,这里的参数称为实际参数用逗号分隔。与形参相对应,这里的参数称为实际参数 (简称实参)。(简称实参)。B B 在调用在调用SubSub过程时,实参和形参按它们的位置建立一一对过程时,实参和形参按它们的位置建立一一对 应关系,实参的值或地址传给对应位置上的形参后,执行应关系,实参的值或地址传给对应位置上的形参后,执行 过程体,当遇到过程体,当遇到End SubEnd Sub或或Exit SubExit Sub语句时,结束语句时,结束SubSub过过 程,并返回主程序(调用过程语句所在
30、的程序称为主程程,并返回主程序(调用过程语句所在的程序称为主程 序)。序)。 如果过程只需要返回一个值,使用如果过程只需要返回一个值,使用VBVB提供了提供了FunctionFunction(函(函数)过程,可以使定义和调用都更加简便。数)过程,可以使定义和调用都更加简便。 FunctionFunction Sub Sub过程一样通过参数传递返回过程处理结果过程一样通过参数传递返回过程处理结果 通过过程名返回一个处理结果。通过过程名返回一个处理结果。1 1、函数过程的格式:、函数过程的格式: Static Private|Public Function Static Private|Publi
31、c Function 过程名过程名(参数列参数列表表) ) As As 数据类型数据类型 语句组语句组 End FunctionEnd Function2 2、函数过程的说明:、函数过程的说明:(1 1)与)与SubSub过程相比,过程相比,FunctionFunction过程的过程名不仅标识函数过过程的过程名不仅标识函数过 程,而且还有返回函数运算结果的功能,所以比程,而且还有返回函数运算结果的功能,所以比SubSub过程过程 多了数据类型声明。多了数据类型声明。(2 2)如果在过程体中含有)如果在过程体中含有Exit Function Exit Function 语句时,表示强行语句时,表
32、示强行 退出过程。退出过程。(3 3) FunctionFunction过程一经定义,调用方式就如同系统提供的内过程一经定义,调用方式就如同系统提供的内 部函数完全相同。部函数完全相同。 1 1常用属性常用属性1) 1) 在在VBVB中,控件的属性很多,常用属性如下:中,控件的属性很多,常用属性如下:(1) AutoSize (1) AutoSize 当值为当值为TrueTrue时,控件的大小能根据内容的多时,控件的大小能根据内容的多 少自动调整。少自动调整。(2) BackColor (2) BackColor 控件的背景颜色。控件的背景颜色。(3) Text (3) Text 控件标题文本
33、。控件标题文本。(4) Enabled (4) Enabled 控件是否有效,当值为控件是否有效,当值为FalseFalse时该对象为灰色时该对象为灰色 显示。显示。(5) Font (5) Font 显示内容的字体显示内容的字体(6) ForeColor (6) ForeColor 控件的前景颜色。控件的前景颜色。(7) Visible (7) Visible 控件是否可见,当值为控件是否可见,当值为TrueTrue时对象可见。时对象可见。(8) Name (8) Name 该控件名称该控件名称(9) Size (9) Size 该控件大小(宽度和高度)该控件大小(宽度和高度)2 2)属性设
34、置)属性设置 控件的属性设置可以通过两种途径进行。控件的属性设置可以通过两种途径进行。(1) (1) 在设计阶段,通过属性窗口修改对象的属性。在设计阶段,通过属性窗口修改对象的属性。步骤是:先选中控件,在属性窗口找到相应的属性名后修改其步骤是:先选中控件,在属性窗口找到相应的属性名后修改其属性值。但并非所有属性均可以在属性窗口中修改。属性值。但并非所有属性均可以在属性窗口中修改。(2) (2) 在代码中,按照如下格式修改控件的属性。在代码中,按照如下格式修改控件的属性。 对象名对象名. .属性名属性名= =属性值属性值 Label1.text = Label1.text = 中华人民共和国中华
35、人民共和国 Label1.AutoSize = True Label1.AutoSize = True 为为Form1Form1窗体添加背景图片窗体添加背景图片属性决定窗体标题栏文本,该属性可以是任意字属性决定窗体标题栏文本,该属性可以是任意字符串。符串。设置窗口在执行时的状态设置窗口在执行时的状态( (启动时是最小启动时是最小化或最大化或正常化或最大化或正常) )2 2 窗体的主要事件窗体的主要事件 事件是可以通过代码响应或事件是可以通过代码响应或“处理处理”的操作,可的操作,可由用户操作(如单击或按某个键)、程序代码或系统由用户操作(如单击或按某个键)、程序代码或系统生成。在代码区中自动生
36、成事件处理过程框架,用户生成。在代码区中自动生成事件处理过程框架,用户直接在这个事件处理过程中继续添加处理事件过程的直接在这个事件处理过程中继续添加处理事件过程的代码就可以了。代码就可以了。1 1)LoadLoad事件事件 LoadLoad事件在窗体被载入时引发。当应用程序只有事件在窗体被载入时引发。当应用程序只有一个窗体时,应用程序一启动就会自动执行该事件中一个窗体时,应用程序一启动就会自动执行该事件中的代码,若不专门调用,此事件中的代码只被执行一的代码,若不专门调用,此事件中的代码只被执行一次。所以该事件通常用来在启动应用程序时,设置对次。所以该事件通常用来在启动应用程序时,设置对象属性的
37、初始属性值和为变量赋初值。象属性的初始属性值和为变量赋初值。2 2 窗体的主要事件窗体的主要事件2 2)ClickClick事件事件 在窗体上单击(在窗体上单击(ClickClick)鼠标左键时发生的事件。)鼠标左键时发生的事件。3 3)FormClosedFormClosed事件:窗体关闭时发生。事件:窗体关闭时发生。4 4)FormClosingFormClosing事件:窗体正在关闭时发生。事件:窗体正在关闭时发生。5 5)GotfocusGotfocus事件:当窗体获得焦点时发生。事件:当窗体获得焦点时发生。6 6)MoveMove事件:当窗体被移动时发生。事件:当窗体被移动时发生。例
38、如:窗体出现时,文本框为空。单击窗体时,在原例如:窗体出现时,文本框为空。单击窗体时,在原本空的文本框中出现本空的文本框中出现“你好朋友!就这么简单!你好朋友!就这么简单!”应应在哪个事件中编辑相应代码?在哪个事件中编辑相应代码?1.button1.button(命令按钮)属性(命令按钮)属性 在在WindowsWindows应用程序中,命令按钮的应用十分广泛。应用程序中,命令按钮的应用十分广泛。常用来确认用户的操作,它是用户和程序实现交互的常用来确认用户的操作,它是用户和程序实现交互的最简单方法。其主要属性包括最简单方法。其主要属性包括texttext、flatStyleflatStyle、
39、backgroundimaagebackgroundimaage和和EnableEnable,常用事件是,常用事件是ClickClick。常用属性常用属性(1) text(1) text text text属性主要用于设置按钮标题文本。属性主要用于设置按钮标题文本。(2) Flatstyle(2) Flatstyle 按钮的外观。按钮的外观。(3) Backgroundimage(3) Backgroundimage 为按钮加背景图片。为按钮加背景图片。1) 1) 主要属性主要属性(1) Text (1) Text 文本框显示的内容存放在文本框显示的内容存放在TextText属性中。注意:文本
40、框属性中。注意:文本框TextText属性的值为字符串,如果输入的是数字字串,并要在程序属性的值为字符串,如果输入的是数字字串,并要在程序中进行数值加法运算或数值比较时,最好用中进行数值加法运算或数值比较时,最好用CintCint函数将字函数将字符串转化为数值类型。符串转化为数值类型。(2) MaxLength(2) MaxLength 指定文本框中能够输入的正文的最大长度。默认值为指定文本框中能够输入的正文的最大长度。默认值为3276732767,把超过长度的文本赋给文本框,把超过长度的文本赋给文本框,不产生错误。不产生错误。额外的字符被截去。额外的字符被截去。(3) MultiLine(3
41、) MultiLine 设计文本框是否为多行文本。当值为设计文本框是否为多行文本。当值为TrueTrue时,文本框时,文本框能输入或显示多行文本,当输入的字符长度超出文本框宽能输入或显示多行文本,当输入的字符长度超出文本框宽度时自动换行;按回车键可将光标移到下一行。当值为度时自动换行;按回车键可将光标移到下一行。当值为FalseFalse时,文本框只能输入一行内容。时,文本框只能输入一行内容。(4)ScrollBars(4)ScrollBars 设计文本框是否具有滚动条。设计文本框是否具有滚动条。ScrollBarsScrollBars属性的取值属性的取值水平或垂直滚动条。水平或垂直滚动条。(
42、5)Textalign(5)Textalign 该属性用来设置输入文本的对齐方式。该属性用来设置输入文本的对齐方式。(6)PassWordChar(6)PassWordChar 指定显示文本框中的替代符。如当指定显示文本框中的替代符。如当PassWordCharPassWordChar值为值为“* *”时,用户在键盘上每输入一个字符,在文本框中显示时,用户在键盘上每输入一个字符,在文本框中显示一个一个“* *”。该属性主要用于密码的输入。该属性主要用于密码的输入。(7)Readonly(7)Readonly 设置文本框是否为可读。如果用于接收用户数据,可设置文本框是否为可读。如果用于接收用户数
43、据,可设置为设置为falsefalse,如果仅仅为了显示数据,可设置为,如果仅仅为了显示数据,可设置为truetrue。 2 2 文本框(文本框(TextboxTextbox)控件)控件2) 2) 主要事件主要事件 在文本框所能响应的事件中,最常用的事件按响应的先在文本框所能响应的事件中,最常用的事件按响应的先后次序依次是后次序依次是GotFocusGotFocus、KeyPressKeyPress、TextChangeTextChange和和LostFocusLostFocus。(1) GotFocus(1) GotFocus事件和事件和LostFocusLostFocus事件事件 当光标定
44、位到文本框(获取焦点)时,引发文本框的当光标定位到文本框(获取焦点)时,引发文本框的GotFocusGotFocus事件。当文本框失去焦点时引发事件。当文本框失去焦点时引发LostFocusLostFocus事件。事件。(2) KeyPress(2) KeyPress事件事件 当用户按下并且释放键盘上的一个键时,就可能会引发当用户按下并且释放键盘上的一个键时,就可能会引发焦点所在对象的焦点所在对象的KeyPressKeyPress事件。事件。(3) TextChange(3) TextChange事件事件 当文本框的内容发生改变时,会引发文本框的当文本框的内容发生改变时,会引发文本框的Chan
45、geChange事件。事件。2 2 文本框(文本框(TextboxTextbox)控件)控件3 3)主要方法)主要方法 (1)(1)文本框主要方法是文本框主要方法是FocusFocus,该方法的作用是把光标移到,该方法的作用是把光标移到指定的文本框中,使文本框获得焦点。其调用格式如下:指定的文本框中,使文本框获得焦点。其调用格式如下: 对象名对象名.Focus.Focus 注意:当一个窗体上有多个文本框时,可以用注意:当一个窗体上有多个文本框时,可以用TabIndexTabIndex属属性来改变各文本框的获取焦点的顺序,但这个属性只能在性来改变各文本框的获取焦点的顺序,但这个属性只能在设计阶段
46、通过属性窗口中设置,程序运行后就不能再改变设计阶段通过属性窗口中设置,程序运行后就不能再改变了,而了,而FocusFocus方法可以随时根据情况使某个文本框获得焦点。方法可以随时根据情况使某个文本框获得焦点。 2 2 文本框(文本框(TextboxTextbox)控件)控件3 3)主要方法)主要方法(2)Copy(2)Copy 将选取的文本复制到剪贴板。将选取的文本复制到剪贴板。(3)Paste(3)Paste 将剪贴板中的文本粘贴到文本框中。将剪贴板中的文本粘贴到文本框中。(4)Cut(4)Cut 将选取的文本剪切下并复制到剪贴板。将选取的文本剪切下并复制到剪贴板。(5)Selectall(
47、5)Selectall 选取全部文本。选取全部文本。 (4) (4) 快捷键(快捷键(ShortcutkeysShortcutkeys)列表框)列表框 快捷键列表框列出了很多快捷键,供用户选择。菜单快捷键列表框列出了很多快捷键,供用户选择。菜单项的快捷键是可选的,如果选择了快捷键,则程序运行项的快捷键是可选的,如果选择了快捷键,则程序运行时快捷键会显示在菜单标题的右边,通过快捷键同样可时快捷键会显示在菜单标题的右边,通过快捷键同样可完成相应命令的操作。完成相应命令的操作。 注意:顶层菜单不能设置快捷键。注意:顶层菜单不能设置快捷键。(5)Radiocheck(5)Radiocheck 如果设置
48、为如果设置为truetrue,菜单项的旁边设置一个单选按钮。,菜单项的旁边设置一个单选按钮。(6)Text(6)Text 菜单项的文本。菜单项的文本。& &快捷键快捷键(7)(7)插入分隔符:右键插入分隔符插入分隔符:右键插入分隔符MsgBox(MsgBox(输入错误,请重新输入!输入错误,请重新输入!,vbokonly, ,vbokonly, 错误错误)MsgBox(MsgBox(输入错误,请重新输入!输入错误,请重新输入!, vbYesNo+vbExclamation, , vbYesNo+vbExclamation, 错错误!误! ) )MsgBox(MsgBox(“输入
49、错误,请重新输入!输入错误,请重新输入!”, , MessageBoxButtons.OK,+vbokonly+vbcritical ,MessageBoxButtons.OK,+vbokonly+vbcritical ,错误!错误!)MsgBox(MsgBox(“输入错误,请重新输入!输入错误,请重新输入!”, vbOKCancel+ , vbOKCancel+ vbcritical vbcritical , 错误!错误!)InputBox(InputBox(请输入姓名:请输入姓名:, , 输入输入, , 孙越孙越)InputBox(InputBox(请输入姓名:请输入姓名:) 一个一个MD
50、IMDI程序至少需要用到两个窗体,其中一个窗体作为容程序至少需要用到两个窗体,其中一个窗体作为容器器( (称为父窗体称为父窗体) ),使某窗体成为容器,需要将窗体的,使某窗体成为容器,需要将窗体的IsMdiContainerIsMdiContainer属性设置为属性设置为TrueTrue 在在MDIMDI程序中可以同时打开多个文档,每个文档用一个单独程序中可以同时打开多个文档,每个文档用一个单独的窗体显示,每一个单独的窗体称为一个子窗体的窗体显示,每一个单独的窗体称为一个子窗体. .把窗体的把窗体的MDIParentMDIParent属性设置为属性设置为MDIMDI父窗体,就可以把一个窗体成为
51、父窗体,就可以把一个窗体成为MDIMDI子窗体。这样就可以把一个窗体用作独立的窗体,也可子窗体。这样就可以把一个窗体用作独立的窗体,也可以把它用作另一个环境中的子窗体。以把它用作另一个环境中的子窗体。 MDIParent属性必须属性必须在运行期间设置。在运行期间设置。创建多文档程序的主要步骤:创建多文档程序的主要步骤:1 1、新建项目、新建项目2 2、在初始、在初始Form1Form1窗体上添加所需控件,并设置其属性窗体上添加所需控件,并设置其属性3 3、将、将Form1Form1窗体作为父窗体,将其窗体作为父窗体,将其IsMdiContainerIsMdiContainer属性设置为属性设置
52、为TrueTrue4 4、设置父窗体的、设置父窗体的NameName属性和属性和TextText属性属性5 5、更改、更改“启动启动”项目项目6 6、添加、添加WindowsWindows窗体,作为创建子窗体的模板窗体,作为创建子窗体的模板7 7、为相关控件添加响应事件(动态、为相关控件添加响应事件(动态把子窗体的把子窗体的MDIParent属性属性设置为设置为MDI父窗体)父窗体)Debugand Deploy编写代码编写代码访问数据访问数据使用使用 Visual Studio .NET调试和部署调试和部署创建用户创建用户界面界面3SmallTony5SmithJames.ProductsC
53、ustomersOrdersEmployees关系关系Employees 表表行行(记录记录)列列 (字段字段)连接到数据库连接到数据库 请求特定的数据请求特定的数据 返回数据返回数据 更新传回到数据更新传回到数据库库显示和修显示和修改数据改数据数据库数据库 关闭连接关闭连接在许多应用程序中,用户访问数据后连接即关闭,在用在许多应用程序中,用户访问数据后连接即关闭,在用户再次访问数据库时连接再重新打开户再次访问数据库时连接再重新打开定义:定义:SQL SQL 是一种工业标准语言,它广泛用于数据库的查询和修改是一种工业标准语言,它广泛用于数据库的查询和修改 数据库数据库ConnectionCom
54、mandDataSetDataReaderDataAdapter管理到特定数据源的连接管理到特定数据源的连接 从数据源中执行命令从数据源中执行命令 将数据保存在与数据库分开将数据保存在与数据库分开的缓存中的缓存中提供了对只读数据的高效访问提供了对只读数据的高效访问在数据库和数据集之间交换数据在数据库和数据集之间交换数据要访问数据库,首先要建立与数据库连接。建立连要访问数据库,首先要建立与数据库连接。建立连接时,要先提供一些信息:数据库名称、用户帐号、接时,要先提供一些信息:数据库名称、用户帐号、密码等相关信息,密码等相关信息,S SqlConnectionqlConnection控件提供了一些
55、常控件提供了一些常用属性用来设置这些信息。用属性用来设置这些信息。( (1 1) )D DataSource:ataSource:数据库所在位置,一般为数据库所在主机数据库所在位置,一般为数据库所在主机的名称。的名称。(2)DataBase(2)DataBase:数据库名称。数据库名称。(3)ConnectionTimeout(3)ConnectionTimeout:连接超时时间,默认为连接超时时间,默认为1515秒。秒。 通过SqlDataAdapterSqlDataAdapter控件建立、初始化数据表,从而和数控件建立、初始化数据表,从而和数据集结合起来在内存中存放数据。据集结合起来在内存
56、中存放数据。 SqlDataAdapter SqlDataAdapter控件能隐藏和控件能隐藏和ConnectionConnection、CommandCommand对象对象沟通的细节。此控件允许将数据集中的数据保存到数据来源沟通的细节。此控件允许将数据集中的数据保存到数据来源Data SourceData Source中,也可以从数据来源取出数据,也可以对底层中,也可以从数据来源取出数据,也可以对底层数据保存体进行数据的添加、删除或修改操作。它包含数据保存体进行数据的添加、删除或修改操作。它包含4 4种不种不同类型的同类型的CommandCommand。(1 1)S SelectComman
57、d:electCommand:用来取得数据源中的记录。用来取得数据源中的记录。(2 2)InsertCommand:InsertCommand:用来添加记录到数据源中。用来添加记录到数据源中。(3 3)UpdateCommand:UpdateCommand:用来更新数据源中的记录。用来更新数据源中的记录。(4 4)DeleteCommand:DeleteCommand:删除数据源中的记录。删除数据源中的记录。D DataGridataGrid控件通过将数据表中的数据以表格的形式显示给控件通过将数据表中的数据以表格的形式显示给用户。下面是几个用户。下面是几个DataGridviewDataGri
58、dview控件常用的属性。控件常用的属性。(1)DataSource:(1)DataSource:指定指定DataGridviewDataGridview的数据源。的数据源。( (通常某个通常某个数据集数据集) )(2)Datamember:(2)Datamember:用来指定数据来源的某个特定的成员。用来指定数据来源的某个特定的成员。操作步骤操作步骤: :(1 1)新建一个项目,项目名称为:)新建一个项目,项目名称为:DataGridDataGrid。(2 2)修改窗体的修改窗体的TextText属性为:属性为:“用用DataGridDataGrid显示数据显示数据”。(3 3)在工具箱中的数据标签中选)在工具箱中的数据标签中选择择SqlConnectionSqlConnection控件添加到窗体。控件添加到窗体。 SqlConnectionSqlConnection控件的属性页如图控件的属性页如图所示。所示。单击单击C ConnectionStringonnectionString属属性右边的下拉按钮,在弹性右边的下拉按钮,在弹出的窗口中选择出的窗口中选择“新建连新建连接接”。出现下面的窗口,。出现下面的窗口,如图所示。如图所示。按右面的图设计数据链接的属性。按右面的图设计数据链接的属性。单击单击“测试链接测试链接”铵扭,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高三冲刺生物遗传规律精讲|基因分离 自由组合
- 《汽化液化专项突破|直击考试高频考点》
- 林业安全生产通知讲解
- 预防蛀牙健康模板
- 美国能实现AI吗
- 冠脉介入术后健康宣教
- 小美满健康生活
- 《任务三:新闻写作》情境任务教学设计
- 1不躺平的人生才有盼头
- 化学解剖测试题及答案
- 2026年书记员考试题库100道(历年真题)
- 人工智能深度学习入门
- 医疗机构运营管理经验分享
- 建筑工程安全生产治本攻坚三年行动方案
- 盘扣打包工人合同协议
- 2025云南临沧高新技术产业开发区管理委员会公益性岗位招聘4人考试笔试备考试题及答案解析
- 2025《中级消防设施操作员》职业能力考评500题(标准答案)
- 水工建构筑物维护检修工岗前操作技能考核试卷含答案
- 券商签sac协议书
- 【MOOC】《国际商务》(暨南大学)期末考试慕课答案
- YY/T 0764-2025眼科仪器视觉敏锐度测量用投影和电子视力表
评论
0/150
提交评论