为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

vb控件教程

2011-03-06 50页 ppt 533KB 25阅读

用户头像

is_796316

暂无简介

举报
vb控件教程null第5章 常用控件第5章 常用控件5.1 命令按钮、标签和文本框 5.2 复选框、单选钮和框架 5.3 列表框和组合框 5.4 滚动条 5.5 定时器 5.6 控件数组 5.7 常见错误及其处理 5.8 小 结 5.1.1 命令按钮的常用属性 5.1.1 命令按钮的常用属性 1.Name(名称)属性 控件的Name(名称)属性用以标识控件,具有惟一性。Name属性只能在属性窗口中设置,不能在程序运行时改变。 Visual Basic的每个控件都有一个缺省的名称,为了...
vb控件教程
null第5章 常用控件第5章 常用控件5.1 命令按钮、标签和文本框 5.2 复选框、单选钮和框架 5.3 列框和组合框 5.4 滚动条 5.5 定时器 5.6 控件数组 5.7 常见错误及其处理 5.8 小 结 5.1.1 命令按钮的常用属性 5.1.1 命令按钮的常用属性 1.Name(名称)属性 控件的Name(名称)属性用以标识控件,具有惟一性。Name属性只能在属性窗口中设置,不能在程序运行时改变。 Visual Basic的每个控件都有一个缺省的名称,为了操作方便、提高程序的可读性,可以考虑根据控件在程序中的实际作用,为其另取一个合适的名称,为方便编写程序代码,控件名称最好采用英文字母、数字和下划线组成,并能见名知意。对于每个控件在起名时微软都有相应的名称前缀建议。 本书中,控件名称一般采用缺省的名称。对于本章介绍的常用控件,我们都会说明它们的缺省名称以及微软建议的名称前缀。 命令按钮的缺省名称为Command1、Command2、……,微软建议的名称前缀为cmd。例如一个“开始”按钮的名称可以取为cmdStart。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性2.Caption属性 Caption属性返回或设置显示在控件上的标。例如,本书第1章中介绍的窗体的Caption属性就是窗体标题栏上的标题文字。 Caption属性的缺省值与控件的Name属性缺省值相同,如新建名称属性为Command1的命令按钮,其Caption属性的初值也是Command1。在设计界面时一般都要重新设置命令按钮的Caption属性,说明该按钮的功能,为了符合中国人的使用习惯,命令按钮的Caption属性通常用中文描述。 此外,还可以利用命令按钮控件的Caption属性为该按钮设置一个访问键。在Caption中,在想要指定为访问键的字符前加一个“&”符号,该字符就带有一个下划线。在程序运行时,同时按下Alt键和带下划线的字符,就相当于单击命令按钮。 例如,如果将命令按钮的Caption属性设置为“退出(&X)”,效果为,按下Alt+X键,触发该按钮的单击事件。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性3.Enabled属性 控件的Enabled属性返回或设置控件是否响应用户生成的事件,也就是该控件是否可用。Enabled属性值是一个逻辑常量,为False或True。当Enabled属性值为False时,命令按钮呈灰色、表示不可用;当Enabled属性值为True时,控件可用。Enabled属性的缺省值为True。 Enabled属性可以在设计时设置,也可以在运行时用赋值语句为其赋值。 例如,以下程序运行的结果是:程序开始运行时“退出”按钮是不可用的,只有在单击了“开始”按钮后才能激活“退出”按钮。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性Private Sub Form_Load() Command1.Caption = "开始" Command2.Caption = "退出" Command2.Enabled = False End Sub Private Sub Command1_Click() Command2.Enabled = True ' 以下是单击Command1后的执行代码 …… End Sub5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性4.命令按钮的其他属性 (1) BackColor属性、Picture属性和Style属性。 BackColor属性返回或设置控件中文字或图形的背景色。 Picture属性返回或设置控件中显示的图形。 要注意对于命令按钮设置的这两个属性还必须配合Style属性才有作用。Style属性用来设置命令按钮是标准的还是图形的。当Style属性设置为0时(缺省值),命令按钮是标准Windows按钮,如果将Style属性设置为1,命令按钮是图形按钮,可以显示设置的背景色或图形效果。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性(2) Cancel属性。 Cancel属性返回或设置一个值,用来指示窗体中命令按钮是否为取消命令按钮。当Cancel属性设置为True时,那么该按钮就成为取消命令按钮。当用户按Esc键时,相当于单击该按钮。窗体中只能有一个命令按钮为“取消”命令按钮,当某个命令按钮的Cancel属性设置为True时,窗体中其他的命令按钮的Cancel属性自动设置为False。 (3) Default属性。 Default属性返回或设置一个值,用来指示窗体中命令按钮是否为缺省命令按钮。当Default属性设置为True时,那么该按钮就成为缺省命令按钮。如果窗体上其他焦点控件不响应键盘事件,而且焦点不在其他命令按钮上,那么当用户按Enter键时,相当于单击该按钮。窗体中只能有一个命令按钮为缺省命令按钮,当某个命令按钮的Default属性设置为True时,窗体中其他的命令按钮的Default属性自动设置为False。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性 (4) Font属性。 Font属性是一个对象,在属性窗口中设置Font属性将打开“字体”对话框,可以对字体、字形、大小和效果进行设置。如果通过程序代码设置,那么要设置Font对象的Name、Bold、Italic、Size、Underline、Strikethrough等属性,其中:Font.Name或FontName属性返回或设置在控件中显示文本所用的字体类型名称。该属性的缺省值为“宋体”。Font.Bold或FontBold属性返回或设置在控件中显示文本是否粗体。该属性值为True,则控件上所显示的文本字体加粗,该属性值为False(缺省值)时为不加粗。Font.Italic或FontItalic属性返回或设置在控件中显示文本是否斜体。该属性值为True,则控件上所显示的文本为倾斜,该属性值为False(缺省值)时为不倾斜。Font.Size或FontSize属性返回或设置在控件中显示文本的大小。该属性的缺省值为“小五”号字(9磅)。 Font.Underline或FontUnderline属性返回或设置在控件中显示文本是否带下划线。该属性值为True,则控件上所显示的文本带下划线,该属性值为False(缺省值)时为不带下划线。Font.Strikethrough或FontStrikethru属性返回或设置在控件中显示文本是否加删除线。该属性值为True,则控件上所显示的文本加删除线,该属性值为False(缺省值)时为无删除线。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性(5) Left、Top、Width、Height属性。 u      Left属性返回或设置控件的左边界与它所在容器左边界之间的距离。 u      Top属性返回或设置控件的上边界与它所在容器上边界之间的距离。 u      Width属性返回或设置控件的宽度 u      Height属性返回或设置控件的高度。 这4个属性确定了控件的位置和大小,缺省的度量单位为缇(Twip),1440缇=1in。 (6) Visible属性。 返回或设置一个值,决定控件运行时是否为可见。当命令按钮的Visible值设置为True时(缺省值),命令按钮可见;当Visible值设置为False时,命令按钮不可见。 5.1.1 命令按钮的常用属性5.1.1 命令按钮的常用属性(7) Value属性。 在程序代码中设置命令按钮的Value属性为True,相当于调用执行该命令按钮的Click事件。Value属性只能在程序代码中访问,不能在属性窗口中设置。 (8) ToolTipText属性。 ToolTipText属性返回或设置鼠标在命令按钮上停留时的提示文本。这个属性对于图形按钮特别有用,可以提示按钮的功能。例如某个命令按钮的ToolTipText属性为“打开帮助文件”,那么程序运行时,当鼠标在该按钮上停留的时效果为: 5.1.2 命令按钮的常用事件 5.1.2 命令按钮的常用事件 命令按钮的常用事件是Click事件,命令按钮的功能是通过编写命令按钮的Click事件程序代码实现的。例如,Command1的Caption设置为“退出”,表示这是一个退出程序运行的按钮,为了能实现退出程序的功能,在代码窗口中可以加入以下程序段: Private Sub Command1_Click() End End Sub 用户触发命令按钮事件的方式有以下几种: (1) 鼠标单击命令按钮。 (2) 在命令按钮获得焦点时,按Enter键。 (3) 对于设计了访问键的命令按钮,按Alt+访问键。 5.1.3 标签的常用属性 5.1.3 标签的常用属性 1.Caption属性 与命令按钮相似,标签的Caption属性返回或设置标签的显示文本。 运行时,标签的文本不能直接进行编辑,但是可以由程序代码控制,通过赋值语句改变Caption属性。 标签控件也可以通过字符前加一个“&”符号设置访问键。由于标签控件本身不能获得焦点,按下Alt+访问键会将焦点移到焦点顺序在标签后面的下一个可以获得焦点的控件上。 注意:可以按Tab键依次在建立在窗体上的可以获得焦点的控件上移动焦点。TabIndex属性确定控件响应Tab键的顺序。TabIndex属性的值依照控件建立的顺序自动获得,第一个建立的控件的TabIndex值为0。可以重新设置控件的TabIndex属性来改变按Tab键获得焦点的顺序,通常将希望程序运行后第一个自动获得焦点的控件的TabIndex属性设置为0。 5.1.3 标签的常用属性5.1.3 标签的常用属性 主动将焦点移动到指定的控件上,可以运用控件的SetFocus。格式为:控件名称.SetFocus 不能获得焦点的控件不支持SetFocus方法,例如标签控件。 2.AutoSize属性和WordWrap属性 (1) AutoSize属性返回或设置控件是否自动改变大小以显示所有内容。 (2) WordWrap属性返回或设置控件是否扩大以显示所有内容。 当Caption的文本超过标签的宽度时,若标签的Autosize属性值为False(缺省值),则保持标签的大小不变,超出部分不予显示(如图5-1中上面一个标签所示);若标签的Autosize属性值为True,而且WordWrap属性为False(缺省值),则自动增加标签的宽度以显示全部内容(如图5-1中间一个标签所示);若标签的Autosize属性值为True,而且WordWrap属性也为True,则保持标签的宽度不变增加标签的高度以显示全部内容(如图5-1下面一个标签所示)。 5.1.3 标签的常用属性5.1.3 标签的常用属性图5-1 标签AutoSize属性和WordWrap属性示意 3.Alignment属性 Alignment属性返回或设置标签中文本的对齐方式。当Alignment属性值为0时(缺省值),文本在标签中左对齐;当Alignment属性值为1时,文本在标签中右对齐;当Alignment属性值为2时,文本在标签中居中对齐。 5.1.3 标签的常用属性5.1.3 标签的常用属性4.BackStyle属性 BackStyle属性返回或设置控件的背景样式是否透明。当标签的BackStyle属性值为0时,标签的背景是透明的;当标签的BackStyle属性值为1(缺省值)时,标签的背景不透明,背景色即BackColor属性所设置的颜色。 5.BorderStyle属性 BorderStyle属性返回或设置控件的边框样式。标签的BorderStyle属性值为0(缺省值)时,无边框;标签的BorderStyle属性值为1时,有边框。 5.1.4 标签的常用事件 5.1.4 标签的常用事件 标签框控件的常用事件有Change、Click、DblClick等事件。但在程序设计中,习惯上还是将标签作为文本显示使用,较少设计标签的事件过程。 5.1.5 文本框的常用属性 5.1.5 文本框的常用属性 文本框通常用于在运行时输入和输出文本,是计算机与用户进行信息交互的控件。 工具箱中文本框控件的图标为 。 文本框控件的缺省名称为Text1、Text2、……,微软建议的名称前缀为txt。 与标签控件不同的是,文本框中的文本可以在程序运行过程中让用户直接进行编辑修改,除非将文本框的Locked属性设为True,使文本框的Text属性成为只读属性。 1.Text属性 Text属性返回或设置文本框中的文本。Text属性是文本框控件最重要的属性之一,可以在设计时设置Text属性,也可以在运行时直接在文本框内输入、或通过程序代码对Text属性重新赋值来改变Text属性的值。 5.1.5 文本框的常用属性5.1.5 文本框的常用属性2.MaxLength属性 MaxLength属性返回或设置在文本框控件中能够输入字符的最大数。MaxLength属性的取值范围0~65535。默认值为0,与65535等价。若在其取值范围内设定了一个非0值,则尾部多出的部分被截断。例如,将文本框Text1的MaxLength设置为6,那么在运行时Text1只接受6个字符;又如执行下列语句后,窗体上文本框内显示“abcdefghij”。 Text1.MaxLength=10 Text1.Text="abcdefghijk12345" 5.1.5 文本框的常用属性5.1.5 文本框的常用属性3.MultiLine属性 MultiLine属性返回或设置文本框是否接受多行文本。 当MultiLine属性值为False(缺省值)时,文本框中的字符只能在一行中显示。 当MultiLine属性值为True时,则可以在文本框的Text属性中加入换行符使文本多行显示。换行符加入的方法有: (1) 设计时,在属性窗口中设置Text属性时,在需要换行时直接按Ctrl+Enter键进行换行。 (2) 在程序代码中用赋值语句修改Text属性,在需要换行时加入回车符(Chr(13)或vbCr)和换行符(chr(10)或vbLf)才可换行,也可以将回车换行符连起来用vbCrLf表示。 5.1.5 文本框的常用属性5.1.5 文本框的常用属性4.ScrollBars属性 ScrollBars属性返回或设置文本框是否有垂直或水平的滚动条。当文本过长,可能超过文本框的边界时,应该为该控件添加滚动条。具体说明如下: (1) ScrollBars属性值为0(缺省值)时,无滚动条。 (2) ScrollBars属性值为1时,加水平滚动条。 (3) ScrollBars属性值为2时,加垂直滚动条。 (4) ScrollBars属性值为3时,同时加水平、垂直滚动条。 需要注意的是,必须将文本框的MultiLine属性设置为True,ScrollBars属性设置为1、2、3才会出现滚动条。 5.1.5 文本框的常用属性5.1.5 文本框的常用属性5.PasswordChar属性 PasswordChar属性返回或设置一个值,该值指示所键入的字符或占位符在文本框中以何种形式显示。如果将PasswordChar 设置为空字符串("")(缺省值),文本框将显示实际输入的文本。如果将PasswordChar 设置为某个字符,文本框将所有的输入都显示为该字符。 文本框要输入密码,应使用此属性。虽然能够使用任何字符,但是大多数基于 Windows的应用程序都使用星号(*)。 例如文本框Text1的PasswordChar属性设置为“*”,程序运行后如果输入“abcdefg”,Text1中显示的内容是“*******”。 5.1.5 文本框的常用属性5.1.5 文本框的常用属性6.文本编辑属性 (1) SelStart属性。该属性用来指定选定文本块的起始位置。如果没有选定的文本,则该属性指定光标的位置。若SelStart值为0,所指示的位置是在文本框第一个字符之前;若SelStart值等于文本框中文本的长度,所指示的位置是在文本框最后一个字符之后。 (2) SelLength属性。该属性用来指定所选的字符个数。 (3) SelText属性。该属性用来指定选定的字符。如果没有字符被选定的话,就是空字符串。 注意:以上3个与文本选定操作有关的属性只能在程序代码中进行读写操作,设计时不可用。 5.1.5 文本框的常用属性5.1.5 文本框的常用属性 通过设置SelStart和SelLength属性,可以控制选定的文本。例如,下列语句可使文本框中的所有文本突出显示: Text1.SetFocus ' 文本框获得焦点 Text1.SelStart = 0 ' 从第一个字符之前开始突出显示 Text1.SelLength = Len(Text1.Text) '突出显示,一直到文本尾。 当文本框中的文本突出显示时,用户可以方便地进行确认或改写操作。 应用剪贴板对象(ClipBoard)提供的方法可以对选定的文本进行“复制”、“剪切”和“粘贴”的操作。具体程序设计见5.1.7节中例5-2的介绍。 5.1.6 文本框的常用事件 5.1.6 文本框的常用事件 1.Change事件 一旦文本框中的Text属性发生改变时,将触发文本框的Change事件。 如果要对文本框中内容的变化随时作出反应,可以编写文本框的Change事件程序代码。 例如,在一个应用程序中,文本框控件Text1用于输入x,事件过程Command1_Click用于计算1/x。如果文本框内没有输入任何数或输入0,单击Command1按钮就会导致运行错误。为防止程序计算出错,可以通过以下代码进行控制。 5.1.6 文本框的常用事件5.1.6 文本框的常用事件Private Sub Form_Load() Command1.Enabled = False End Sub Private Sub Text1_Change() If Val(Text1.Text) <> 0 Then Command1.Enabled = True Else Command1.Enabled = False End If End Sub 5.1.6 文本框的常用事件5.1.6 文本框的常用事件2.KeyPress事件 KeyPress事件在文本框获得焦点并且用户按下了键盘上的按键后触发。KeyPress 事件过程在截取文本框中所输入的击键时是非常有用的,它可立即测试击键的有效性或在字符输入时对其进行格式处理。文本框的KeyPress 事件语法格式为: Private Sub 文本框名称_KeyPress(KeyAscii As Integer) KeyPress事件中的参数KeyAscii的值自动获得触发KeyPress事件时击键所对应的ASCII码值,如果在程序中改变KeyAscii的值将会改变文本框显示的字符。 例如,要设计一个只接受数字键的文本框,可以编写以下程序代码: Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 48 Or KeyAscii > 57 Then '判断为非数字键 KeyAscii = 0 '改变键入文本框的显示为空字符,即不显示 End If End Sub 5.2.1 复选框的常用属性 5.2.1 复选框的常用属性 复选框控件是提供选择项的控件,选中时,复选框中会有选中标记(√);清除时,选中标记会消失。可以将复选框想像成一个开关,每单击一次复选框,其状态在选中和清除之间交替切换。如果窗体上有多个复选框,每个复选框之间都是相互独立的,用户可以同时选中多个复选框。例如,图5-4是兴趣爱好调查程序的运行情况,其中选项应用了复选框控件。 图5-4 复选框的应用 5.2.1 复选框的常用属性5.2.1 复选框的常用属性 工具箱中复选框控件的图标为 。 复选框控件的缺省名称为Check1、Check2、……,微软建议的名称前缀为chk。 1.Caption属性 Caption属性返回或设置复选框控件的标题,用于给出选项提示。 2.Alignment属性 Alignment属性返回或设置复选框的对齐方式。 Alignment属性值为0时(缺省值),复选框的方框在标题文字的左边;Alignment属性值为1时,复选框的方框在标题文字的右边。 5.2.1 复选框的常用属性5.2.1 复选框的常用属性3.Value属性 Value属性返回或设置复选框的选中状态。 (1) Value属性值为0时(缺省值),复选框控件的方框内为空白;Value属性值为1时,复选框控件的方框内显示选中标记(√);Value属性值为2时,复选框控件的方框内显示灰色的选中标记(√)。 (2) 运行时单击复选框: ◆ 如果原先Value属性值为0(复选框控件的方框内为空白),单击后Value属性值变为1(同时复选框控件的方框内显示“√”标志)。 ◆ 如果原先Value属性值为1或2(复选框控件的方框内为黑色或灰色的选中标记(√)),单击后Value属性值变为0(同时复选框控件的方框内显示为空白)。 运行时反复单击同一复选框控件时,其Value属性值只能在0、1之间交替变换。 5.2.2 复选框的常用事件 5.2.2 复选框的常用事件 复选框控件的常用事件为Click事件,复选框不支持鼠标双击事件,系统把一次双击解释为两次单击事件。 复选框控件在程序中是为用户提供选择项目的,为了判断用户是选中还是清除了复选框,需要读取单击后复选框的Value属性值,从而为程序的进一步运行提供依据。所以典型的复选框单击事件中,通常都有选择结构。 例如复选框Check1的单击事件的典型程序结构通常为: Private Sub Check1_Click() If Check1.Value = 1 Then …… '选中后要进行的操作 Else …… '清除后要进行的操作 End If End Sub 5.2.3 单选钮的常用属性 5.2.3 单选钮的常用属性 单选钮也是提供选项的控件,与复选框不同的是,在一个容器内所有单选钮所提供的选项中,用户只能选中其中的一个。当用户单击单选钮时,就选中了这个选项,在单选钮的圆形框内会出现选中标记(·),同时自动取消这组按钮中其他单选钮的选中标记。例如图5-5是一个填表程序,其中男、女选项就是应用了单选钮控件,用户只能选择其中的一项。 图5-5 单选钮的应用 5.2.3 单选钮的常用属性 5.2.3 单选钮的常用属性 工具箱中单选钮控件的图标为 。 单选钮控件的缺省名称为Option1、Option2、……,微软建议的名称前缀为opt。 与复选框控件相似,单选钮的Caption属性设置单选钮的标题,给出选项的内容;Alignment属性决定单选钮的圆形框的位置是靠左(默认)还是靠右。 通过设置单选钮的Enabled属性来决定单选钮是否可用。 Value属性返回或设置单选钮的选中状态。Value属性值为False时(缺省值),单选钮控件的圆形框内为空白;Value属性值为True时,单选钮控件的圆形框内显示选中标记(·)。 运行时单击单选钮后单选钮的Value值变为True,同时单选钮控件的圆形框内显示选中标记(·)。与复选框不同的是,在运行时反复单击同一单选钮控件时,其Value属性值只能取True。只有单击了其他的单选钮才会使这个单选钮的Value属性值变为False。 5.2.4 单选钮的常用事件 5.2.4 单选钮的常用事件 单选钮的常用事件是Click事件。由于单选钮不具有像复选框一样的开关性能,单击操作就是选定操作,所以单选钮的Click事件中要执行的代码段不需要选择结构控制。 5.2.5 框 架 5.2.5 框 架 框架控件的主要作用是对窗体上的控件进行分组,它是一个容器控件。在框架内的控件的Left和Top属性值都是相对于框架的边界衡量的,当移动框架时,框架内的控件也随之移动,但是框架内的控件的Left和Top属性值并没有改变。 框架控件的图标为 。 框架控件的缺省名称为Frame1、Frame2、……,微软建议的名称前缀为fra。 框架的Caption属性设置框架的标题,对框架的内容进行说明。 向框架内添加控件的方法有两种: (1) 先建立框架控件,然后选定工具箱中的控件,在框架内进行拖画。 (2) 已分别建立了控件和框架,可以选定控件进行“剪切”操作,再选定框架进行“粘贴”操作,最后调整控件在框架中的位置。 5.3.1 列表框的常用属性 5.3.1 列表框的常用属性 列表框控件通过列表形式为用户提供选项,当列表项的内容超出列表框的大小时,列表框会自动提供滚动条供用户进行列表项的定位选择。 用户可以在列表框控件所显示的列表项中选择一项或多项。 工具箱中列表框控件的图标为 。 列表框控件的缺省名称为List1、List2、……,微软建议的名称前缀为lst。 1.List属性 List属性返回或设置列表框控件的列表项。列表框控件的各个列表项是以数组的方式保存的,数组的每一个元素存储列表框控件的一个列表项。因此,利用索引可以访问列表项,列表框中第一个列表项的索引为0,第二个列表项的索引为1,……,依此类推。 5.3.1 列表框的常用属性5.3.1 列表框的常用属性 访问的格式为:列表框控件名.List(Index) 例如,如图5-10所示的列表框控件名称为List1,那么表达式“List1.List(0)”的值为“苹果”,执行语句“List1.List(2)= ”草莓“”后将会使第三个列表项“菠萝”变为“草莓”。 在属性窗口中设置列表框的List属性时,两个列表项之间用Ctrl+Enter键换行,如果按Enter键将退出List属性的设置。 图5-10 列表框控件示例 5.3.1 列表框的常用属性5.3.1 列表框的常用属性2.ListCount属性 ListCount属性返回列表框中列表项的个数,ListCount属性是只读属性,不能对该属性进行赋值操作。由于列表项的索引值是从0开始计数,所以列表框中最后一个列表项的索引值是列表框名称.ListCount-1。 例如图5-10所示列表框List1的索引范围为0~6,List1.ListCount为7。 3.ListIndex属性 ListIndex属性返回或设置列表框中当前选中列表项的索引,如果没有选中任何一项,则该属性值为-1。 5.3.1 列表框的常用属性5.3.1 列表框的常用属性4.MultiSelect属性 MultiSelect属性返回或设置一个值,该值指示是否能够在列表框控件中进行复选以及如何进行复选。MultiSelect属性在运行时是只读的。 ◆ MultiSelect属性值为0(缺省值):只能单选,若选中一个列表项则其他列表项取消突出显示。 ◆ MultiSelect属性值为1:简单复选,鼠标单击或按下Space(空格)键在列表中选中或取消选中项。被选中的列表项都被突出显示。 ◆ MultiSelect属性值为2:扩展复选,连续相临的列表项选定可以按住Shift键并单击鼠标将在以前选中项的基础上扩展选择到当前选中项;或者直接用鼠标在列表框内拖动选中相邻的若干个列表项。不连续的多个列表项的选定操作可以按住Ctrl键并单击鼠标。 5.3.1 列表框的常用属性5.3.1 列表框的常用属性5.Text属性 Text属性返回列表框中当前选中的列表项的内容,对于复选的列表框,Text属性返回的是最后一个选中列表项的内容。列表框的Text属性是只读属性。 值得注意的是,列表框的Text属性的返回值总是与“列表框名称.List(列表框名称.ListIndex)的返回值相等。 例如图5-10所示的列表框List1中,List1.Text是“西瓜”,List1.List(List1.ListIndex)即List1.List(4)也是“西瓜”。 6.Selected属性 Selected属性返回或设置在列表框中的每个列表项的选择状态。该属性是一个与List属性一样、有相同项数的逻辑值数组,数组的索引值也是0~列表框名称.ListConut-1。当列表项被选中时,该列表项索引所对应的Selected属性值为True,否则为False。Selected属性在设计时是不可用的。5.3.1 列表框的常用属性5.3.1 列表框的常用属性7.SelCount属性 SelCount属性返回列表框控件中被选中列表项的个数。 8.Sorted属性 Sorted属性返回或设置一个值,指定列表框控件中的列表项是否自动排序。Sorted属性为False时(缺省值)不排序;Sorted属性为True时列表框控件中的列表项自动按字典顺序排序。 例如对于图5-10所示的列表框List1,如果将Sorted属性设置为True,那么List1中各列表项的顺序就变成了“菠萝、梨、芒果、苹果、西瓜、香蕉、樱桃”。5.3.1 列表框的常用属性5.3.1 列表框的常用属性图5-11 列表框控件Style属性示例 若列表框控件的Style属性值为1,无论MutiSelect属性取何值,该列表框都可以复选。5.3.2 列表框的常用方法 5.3.2 列表框的常用方法 1.AddItem方法 格式:列表框控件名.AddItem 列表项文本[,索引值] 功能:将列表项文本添加到列表框中。索引值可以指定列表项文本的插入位置,省略索引值则将列表项文本追加到列表框末尾。索引值必须是一个有效值,即索引值必须小于或等于列表框的ListCount属性值。 例如图5-10所示的列表框List1,执行语句“List1.AddItem "哈密瓜", 0”将把“哈密瓜”添加到List1中的第一项,原来各项依次后移。 注意:对列表框的List属性进行赋值将改变列表框中已有列表项的内容;如果是对索引值为列表框ListCount取值的List属性赋值,将在列表框的末尾追加一个列表项。5.3.2 列表框的常用方法5.3.2 列表框的常用方法2.RemoveItem方法 格式:列表框控件名.RemoveItem 索引值 功能:删除列表框中索引值指定的列表项。 例如图5-10所示的列表框List1,执行语句“List1.RemoveItem 4”将删除“西瓜”列表项,这时后面各项自动前移,List1.ListCount也自动变为6了。 要删除选定的列表项,可以删除列表框ListIndex属性返回的索引值对应的列表项。 例如图5-10所示的列表框List1,执行语句“List1.RemoveItem List1.ListIndex”也将删除“西瓜”列表项。 3.Clear方法 格式:列表框控件名.Clear 功能:清除列表框控件中所有列表项。 例如图5-10所示的列表框List1,执行语句“List1.Clear”将清空List1中所有列表项。 5.3.3 列表框的常用事件 5.3.3 列表框的常用事件 1.Click单击事件 运行时单击列表框控件的某一列表项,可以使该表项从未选状态转到选中状态,或从选中状态转到未选状态,同时触发该列表框控件的Click事件。 2.DblClick事件 DblClick事件是在运行时双击列表框控件的某一列表项时触发的。 根据Windows应用程序的操作惯例,对于列表项的操作通常是采用双击进行的,如打开一个文件列表中的文件;单击时通常是进行选定操作,然后按“确定”按钮进行确认后操作。因此,我们在设计程序时,要对选中的列表项进行相应操作时,更多的是设计列表框的DblClick事件,或者是设计命令按钮的Click事件,较少直接设计列表框的Click事件。 5.3.3 列表框的常用事件5.3.3 列表框的常用事件3.KeyPress事件 在列表框获得焦点时,键盘的击键将触发列表框的KeyPress事件。与文本框的KeyPress事件一样,列表框的KeyPress事件带有参数KeyAscii,可以通过KeyAscii来判断击键的ASCII码。例如,要在List1中选定列表项并按下Enter键后进行操作,可以用以下的程序结构来设计程序代码: Private Sub List1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then …… '相应的操作语句 End If End Sub 5.3.4 组合框 5.3.4 组合框 组合框控件也是提供选项的控件,组合框控件兼有列表框和文本框的特性:组合框中的列表框部分提供选择列表项,文本框部分显示选定列表项的内容或进行输入。 工具箱中组合框控件的图标为。 组合框控件的缺省名称为Combo1、Combo2、……,微软建议的名称前缀为cbo。 组合框具有列表框和文本框的大多数属性、方法和事件。 组合框按其特性与功能,可以分为“下拉式组合框”、“简单组合框”和“下拉式列表框”3种不同样式。通过组合框的Style属性来设置组合框的样式。 5.3.4 组合框5.3.4 组合框1.Style属性 Style属性返回或设置组合框的样式,Style属性是只读属性,只能在设计时设置。 ◆ Style属性值为0(缺省值),为下拉式组合框。下拉式组合框包括一个文本框和一个下拉式列表框,单击文本框右端箭头可以引出下拉式列表框,用户可以从列表框中进行选择,也可以在文本框中输入文本。 ◆ Style属性值为1,为简单组合框。简单组合框包括一个文本框和一个非下拉式列表框,用户可以从列表框中进行选择,也可以在文本框中输入文本。如果建立该组合框控件时所画的列表框区域不够大,不能显示所有的列表项时,组合框会自动附加垂直滚动条。 ◆ Style属性值为2,为下拉式列表框。下拉式列表框包括一个不可输入的文本框和一个下拉式列表框。单击文本框右端箭头可以引出列表框,但不能在文本框中输入文本。5.3.4 组合框5.3.4 组合框2.Text属性 Text属性返回或设置组合框中所选中列表项的文本或在下拉式组合框和简单组合框的文本框中输入的文本。 注意:组合框控件不支持复选。 组合框的常用方法也是AddItem方法、RemoveItem方法和Clear方法。 与列表框相似,组合框的常用事件有Click事件、DblClick事件和KeyPress事件。组合框的常用事件还有Change事件(列表框控件没有Change事件),在组合框控件的文本框中输入了新的内容时触发组合框的Change事件。 5.4 滚动条 5.4 滚动条 有些控件自带滚动条,例如文本框、列表框和组合框等,在项目列表很长或者信息量很大时可以通过滚动条进行定位。但也有一些控件自身不支持滚动条操作,这时我们需要自己设计滚动条控件,为这些控件外挂一个滚动条进行信息的定位和浏览。此外,用户还可以在程序中将滚动条作为用鼠标操作的输入设备,例如,可以用它来控制计算机游戏中的音量、速度、颜色等。 滚动条控件分为水平滚动条(HScrollBar)和垂直滚动条(VScrollBar)两种,两种控件除了放置的方向不一样外,属性、方法和事件都是相同的 工具箱中水平滚动条控件的图标为 ,垂直滚动条控件的图标为 。 5.4.1 滚动条的常用属性 5.4.1 滚动条的常用属性 水平滚动条控件名称的缺省值为HScroll1、HScroll2、……,微软建议的名称前缀为hsb。 垂直滚动条控件名称的缺省值为VScroll1、VScroll2、……,微软建议的名称前缀为vsb。 1.Value属性 Value属性返回或设置滚动条上的滚动滑块所处的位置。 2.Max和Min属性 Max和Min属性返回或设置Value属性的最大值和最小值。 3.LargeChange属性 LargeChange属性返回或设置当用户单击滚动条上的滑动箭头和滚动滑块之间的区域时,Value属性值的改变量。 4.SmallChange属性 SmallChange属性返回或设置当用户单击滚动箭头时Value属性值的改变量。 5.4.2 滚动条的常用事件 5.4.2 滚动条的常用事件 1.Change事件 运行时,当改变了滚动条控件的Value属性值,会触发滚动条的Change事件。用户单击滚动条两端的滚动箭头或单击滚动箭头和滚动滑块之间的区域时,或者通过程序代码对滚动条的Value属性重新进行了赋值,都会触发滚动条的Change事件。要利用滚动条进行位置调整、音量调节、速度控制等模拟输入,都要编写滚动条的Change事件程序代码。 2.Scroll事件 该事件过程在只有在拖动滚动滑块时被调用。 要注意的是,拖动滚动条的滚动滑块仅触发滚动条的Scroll事件,并没有触发Change事件,只有当停止拖动并松开鼠标的那一刻才触发Change事件。为了使滚动条能在拖动滚动滑块时实现实时控制,通常是在滚动条的Scroll事件中调用执行滚动条Change事件。 5.5.1 定时器的常用属性 5.5.1 定时器的常用属性 定时器控件运行时隐藏,它没有Visible属性。它的大小不可改变,也没有Width和Height属性。虽然它有Left和Top属性,但是由于它运行时不可见,所以这两个属性并不重要。 定时器控件的缺省名称为Timer1、Timer2、……,微软建议的定时器名称前缀为tmr。 1.Interval属性 Interval属性返回或设置定时器控件的Timer事件响应所需间隔的毫秒数。 Interval属性的取值范围为1~65535。当Interval属性值为0时(缺省值),定时器不起作用;当Interval属性为1000时,时间间隔是1秒。要注意的是,定时器的时间间隔并不精确,特别是当Interval属性设的太小时,甚至会影响系统的性能。 2.Enabled属性 Enabled属性决定定时器控件是否随时间的推移,在到达时间间隔时响应Timer事件。当Enabled属性值为True(缺省值)时,激活定时器开始计时;当Enabled属性值为False时,定时器处于休眠状态、不计时。5.5.2 定时器的Timer事件 5.5.2 定时器的Timer事件 定时器控件只响应一个事件,即该控件的Timer事件。编写Timer事件程序代码用来告诉系统在每次Interval到时该做什么。 5.6.1 控件数组的建立 5.6.1 控件数组的建立 控件数组是具有相同名称和类型并具有相同事件的一个或多个控件。每个控件数组至少含有一个控件,控件的个数最多为32767个,并受系统资源和内存的限制。同一控件数组中,每个控件可以有各自不同的属性设置。在开发应用程序的过程中,如果需要多个类型相同功能相近的控件,最好建立控件数组,因为控件数组占用的系统资源要低于同样个数的相同类型控件所占用的系统资源。 1.在设计时创建控件数组 (1)将相同类型的控件的名称设置为相同:先在窗体上建立若干个相同类型的控件,确定哪个要作为控件数组的第一个控件,接着将其他控件的名称(Name)属性都改为与第一个控件的名称相同。在修改时,Visual Basic会弹出一个对话框询问是否创建控件数组,单击“是”按钮即可。对于控件数组中的控件系统会自动分配它们的Index属性,控件数组的第一个控件的Index属性为0,第二个为1,依此类推。 5.6.1 控件数组的建立5.6.1 控件数组的建立 (2) 通过复制粘贴的方法:先建立控件数组中的第一个控件,选择该控件,进行“复制”操作,接着进行“粘贴”操作,同样Visual Basic会弹出一个对话框询问是否创建控件数组,单击“是”按钮即可。对于不止由两个控件构成的控件数组,就继续进行“粘贴”操作。这种方法建立的控件数组除了Index属性依次按建立的顺序自动获得相应的数值外,其他的外观属性都是相同的,用户要根据需要重新设置它们各自相应的属性。 2.在运行时创建控件数组 在运行时要在程序中动态地增减控件,可以通过控件数组的Load和UnLoad语句实现。必须先在设计时建立一个控件,再将该控件的Index属性设置为0,这样这个控件就构成只有一个控件元素的控件数组了。在运行时需要创建新的控件时,可以执行Load语句。Load语句格式为:Load 控件名称(索引值) 5.7 常见错误及其处理 5.7 常见错误及其处理 在面向对象的程序设计中,除了要掌握程序设计的基本方法,正确运用程序设计元素和程序控制结构外,还要掌握和正确运用对象(控件)的属性、方法和事件。程序错误分为语法错误(编译错误)、实时错误和逻辑错误3种,熟练掌握Visual Basic编程规则可以减少出现程序的语法错误(编译错误)和实时错误,而减少出现程序的逻辑错误更多的是靠通过大量的编程练习积累经验。合理设置Visual Basic集成编程环境的选项,可以帮助编程人员减少错误的发生,并快速发现问题。单击“工具”菜单下的“选项”命令打开“选项”对话框,按以下几个要点设置相关选项: ◆ 在“编辑器”选项卡中在“自动语法检测”复选框中打上“√”。 ◆ 在“编辑器”选项卡中在“自动列出成员”复选框中打上“√”。 ◆ 在“编辑器”选项卡中在“自动显示快速信息”复选框中打上“√”。 ◆ 在“编辑器格式”选项卡中“语法错误文本”的代码颜色“前景色”为红色。 ◆ 以下分析是根据上述选项设置进行的。5.7.1 语法错误(编译错误)分析 5.7.1 语法错误(编译错误)分析 语法错误(编译错误)是由于语句不符合语法规则引起的,在设计时“自动语法检测”检测出来的语法错误的代码是红色显示的,设计时未自动检测出的错误在运行时由于系统无法编译执行该语句就造成了编译错误。语法错误(编译错误)必须纠正后程序才能运行。 错误举例: (1) 将标签Label1向下移动100刻度单位。 错误:Label1.Move ,Label1.Top+100 错误提示:参数不可选。 原因:Move方法有4个参数,只用到后面的参数时,前面的参数必须列出,不可以省略。 纠正:Label1.Move Label1.Left,Label1.Top+100 5.7.1 语法错误(编译错误)分析5.7.1 语法错误(编译错误)分析(2) 对标签控件Label1运用SetFocus方法。 错误:Label1.SetFocus 错误提示:未找到方法或数据成员。 原因:标签控件不支持SetFocus方法。 纠正:删除该语句。 点评:对象名称输入后接着输入“.”会自动列出对象大多数可用的属性和方法,使用未列出的成员可能会出错。 (3) 将标签Label1的标题文字颜色设置为红色。 错误:Label1.FontColor=vbRed 错误提示:未找到方法或数据成员。 原因:标题文字颜色是由ForeColor属性决定的,没有FontColor属性。 纠正:Label1.ForeColor = vbRed 5.7.2 实时错误分析 5.7.2 实时错误分析 实时错误是指运行时无法按照语句的执行相应的操作造成的出错。实时错误有些是由于隐性的语法错误引起的,有些是由于要求的对象不存在引起的,还有些是因为对象不支持相应的操作引起的,等等。 错误举例: (1) 将列表框List1的第3项“菠萝”删除。 错误:List1.RemoveItem "菠萝"。 错误提示:类型不匹配。 原因:RemoveItem方法的参数是列表项的索引值,是整数类型的数据。 纠正:List1.RemoveItem 2 。5.7.2 实时错误分析5.7.2 实时错误分析(2) 窗体加载后自动将焦点设在文本框Text1中。 错误: Private Sub Form_Load() Text1.SetFocus End Sub 错误提示:无效的过程调用或参数。 原因:在Form_Load事件执行过程中,窗体还未显示,无法将焦点移到文本框中。 纠正: Private Sub Form_Load() Me.Show Text1.SetFocus End Sub 5.8 小 结 5.8 小 结 本章介绍了Visual Basic中的10个常用控件:命令按钮(CommandButton)、标签(Label)、文本框(TextBox)、单选钮(OptionButton)、复选框(CheckBox)、框架(Frame)、列表框(ListBox)、组合框(Combo)、滚动条(HScrollBar、VScrollBar)、定时器(Timer)。介绍了这些控件的常用属性、常用方法和常用事件,并给出了这些控件的运用实例。本章还介绍了控件数组的建立方法,最后在本章中还对初学者在设计Visual Basic程序中经常出现的错误进行了分析。 设计命令按钮控件的目的是实现程序的交互控制,当用户单击命令按钮后完成特定的操作。命令按钮的标题一般说明按钮的功能,而其功能是由为控件的事件过程所编写的程序代码实现的。命令按钮的常用事件过程为Click。 5.8 小 结5.8 小 结 单选钮和复选框提供了两种选择的方式:同处在一个容器中的多个单选钮只能选择其中的一个;而多个复选框可以同时选中多个。 框架是一个容器控件,建立框架控件除了可以实现单选钮的分组功能外,在界面设计时,常常将一些功能相近的控件置于同一个框架控件中,使得界面更加清晰。 列表框和组合框也是提供选择的控件。如果有较多的选项又不想占用较大的界面空间时,运用这两个控件最为合适。列表框控件可以支持复选,同时选择多个选项;组合框控件可以支持直接输入选项内容,但不能多选。 滚动条控件提供了更直观、更方便的利用鼠标操作向应用程序输入数据的手段,通过设置Min和Max属性,还可以将输入的数据限制在一定的范围内。通常是通过编写滚动条控件的Change事件过程和Scroll事件过程实现滚动条的操作。 程序中的有规律的、自动执行的过程要利用定时器控件实现,例如动画程序。定时器的惟一事件是Timer事件,每过Interval/1000秒自动调用执行一次。 第6章 图形控件和图形方第6章 图形控件和图形方6.1 图形控件 6.2 Visual Basic坐标系 6.3 图形方法 6.4 小 结 6.1.1 图片框控
/
本文档为【vb控件教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索