




已阅读5页,还剩222页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic NET程序设计 中 VisualBasic NET程序设计 第6章常用Windows窗体控件 内容提要 文本控件图形控件按钮控件选择控件 复选框和单选按钮选择控件 列表框和组合框滚动条计时器分组框控件焦点与Tab顺序 控件是重要的可视化编程工具 是构成用户界面的基本元素 只有掌握了控件的属性 事件和方法 才能编写具有实用价值的应用程序 VisualBasic NET中的控件可以出现在Windows窗体中 也可以出现在Web窗体中 其中在Windows窗体中使用的控件称为Windows窗体控件 这类控件数量较多 在这一章中 我们将介绍部分常用的Windows窗体控件 6 1文本控件 与文本有关的控件有两个 即标签 Label 和文本框 TextBox 在标签中只能显示文本 不能进行编辑 而在文本框中既可显示文本 又可在文本框中输入文本 在VisualBasic NET工具箱 Windows窗体 选项卡 下同 中 标签和文本框的图标如图6 1所示 标签的默认名称 Name 和标题 Text 为LabelX X为1 2 3 文本框的默认名称和标题为TextBoxX X为1 2 3 6 1 1标签 标签主要用来显示文本信息 所显示的文本只能用Text属性来设置或修改 不能直接编辑 有时候 标签常用来标注本身不具有Text属性的控件 例如 可以用标签对文本框 列表框 组合框等控件附加描述性信息 1 标签的属性 事件和方法 标签的部分属性与窗体及其他控件相同 包括BackColor ForeColor Font Height Left Name Top Visible Width等 其他属性 1 Text 设置在标签中显示的文本 标签中的文本只能用Text属性显示 2 TextAlign 该属性用来确定标签中文本的放置方式 可以在属性窗口中设置 也可以通过代码设置 一般格式为 Label1 TextAlign 设置值这里的 设置值 是枚举类型ContentAlignment 可以取以下9种值 ContentAlignment TopLeft文本在标签的左上角显示 默认 ContentAlignment TopCenter文本在标签的顶部居中显示ContentAlignment TopRight文本在标签的右上角显示ContentAlignment MiddleLeft文本在标签的左部居中显示ContentAlignment MiddleCenter文本在标签的中部居中显示ContentAlignment MiddleRight文本在标签的右部居中显示ContentAlignment BottomLeft文本在标签的左下角显示ContentAlignment BottomCenter文本在标签的底部居中显示ContentAlignment BottomRight文本在标签的右下角显示例如 Label1 TextAlign ContentAlignment BottomCenter 3 Autosize 如果把该属性设置为True 则可根据Text属性指定的文本自动调整标签的大小 如果把Autosize属性设置为False 则标签将保持设计时定义的大小 在这种情况下 如果文本太长 则只能显示其中的一部分 4 BorderStyle 用来设置标签的边框 可以取以下3种值 None无边框 默认 FixedSingle单直线边框Fixed3D立体边框 凹陷 当在属性窗口中设置该属性时 可以通过单击属性条右端的箭头 在下拉列表中选择 如果通过代码设置 则格式如下 Label1 BorderStyle 设置值其中 设置值 是BorderStyle枚举类型 可以取以下三种值 BorderStyle None无边框BorderStyle FixedSingle单线边框BorderStyle Fixed3D立体边框例如 Label1 BorderStyle BorderStyle FixedSingle把标签的边框设置为单线 5 Enabled 该属性返回或设置一个值 用来确定一个窗体或控件是否能够对用户产生的事件作出反应 可以通过属性窗口或程序代码设置 格式如下 对象 Enabled Boolean 这里的 对象 可以是窗体或控件 Enabled属性的值为Boolean类型 当该值为True时 允许对象对事件作出反应 如果为False 则禁止对事件作出反应 在这种情况下 对象变为灰色 6 Image 用来设置标签的背景图像 当在属性窗口中设置该属性时 可单击该属性条 然后单击右端的 显示 打开 对话框 在该对话框中选择所需要的图形文件 如果通过代码设置 则格式如下 Label1 Image Image FromFile 图形文件名 例如 Label1 Image Image FromFile d pic1 jpg 标签可触发Click和DblClick事件 此外 标签主要用来显示一小段文本 通过Text属性定义 一般不需要使用其他方法 6 1 2文本框 文本框是一个文本编辑区域 可以在设计阶段或运行期间在这个区域中输入 编辑 修改和显示文本 类似于一个简单的文本编辑器 1 文本框属性 前面介绍的一些属性也可以用于文本框 这些属性包括 BackColor BorderStyle Enabled Font ForeColor Size Height Width Location X Y Name Visible 其他属性 1 MaxLength 用来设置允许在文本框中输入的最大字符数 在一般情况下 该属性使用默认值 32767 如果把长度超过MaxLength属性设置值的文本赋给文本框 VisualBasic NET并不产生错误 但会截去多余的字符 2 Multiline 用来确定文本框是否接收多行文本 如果把该属性设置为False 则在文本框中只能输入单行文本 文本框的高度不能调整 当属性Multiline被设置为True时 可以使用多行文本 即在文本框中输入或输出文本时可以自动换行 并在下一行接着输入或输出 按Ctrl Enter可以插入一个空行 3 PassWordChar 该属性可用于口令输入 在默认状态下 该属性被设置为空字符串 不是空格 用户从键盘上输入时 每个字符都可以在文本框中显示出来 如果把PassWordChar属性设置为一个字符 例如星号 则在文本框中键入字符时 显示的不是键入的字符 而是被设置的字符 如星号 不过文本框中的实际内容仍是输入的文本 只是显示结果被改变了 利用这一特性 可以设置口令 4 ScrollBars 该属性用来确定文本框中有没有滚动条 可以取以下4种值 None文本框中没有滚动条Horizontal只有水平滚动条Vertical只有垂直滚动条Both同时具有水平和垂直滚动条上述属性值可以在属性窗口中设置 通过下拉列表 注意 只有当MultiLine属性被设置为True时 用ScrollBars属性设置的滚动条才能起作用 如果通过代码设置ScrollBars属性 则格式如下 TextBox1 ScrollBars 设置值这里的 设置值 是枚举类型ScrollBars 可以取以下4种值 ScrollBars None文本框中没有滚动条ScrollBars Horizontal只有水平滚动条ScrollBars Vertical只有垂直滚动条ScrollBars Both同时具有水平和垂直滚动条例如 TextBox1 ScrollBars ScrollBars Vertical 6 Locked 该属性用来指定文本框是否可以移动 当设置值为False 默认值 时 在设计阶段可以移动文本框 如果设置值为Ture时 则不能移动文本框 7 TextAlign 用来设置文本框中文本的对齐方式 可以取以下3种值 Left左对齐Right右对齐Center居中上述设置值可以在属性窗口中设置 通过下拉列表选择 如果通过代码设置 则格式如下 TextBox1 TextAlign 设置值这里的 设置值 是枚举类型HorizontalAlignment 可以取以下3种值 HorizontalAlignment Left左对齐HorizontalAlignment Right右对齐HorizontalAlignment Center居中 8 ReadOnly 设置文本框是否为只读 如果把该属性设置为False 默认 则在运行期间文本框可以接收用户的输入 并可对文本框中的文本进行编辑 而如果把该属性设置为True 则在运行期间不能对文本框中的文本进行编辑 在这种情况下 文本框中的文本可以显示 也可以滚动 但不能编辑 9 WordWrap 用来确定多行文本框是否自动换行 当文本框的MultiLine属性被设置为True时 如果把WordWrap属性设置为True 默认 则在文本框中输入或输出文本时可以自动换行 并在下一行接着输入或输出 而如果把该属性设置为False 则即使把MultiLine属性设置为True也不能使文本框的输入或输出自动换行 2 文本框事件 文本框支持Click DblClick等鼠标事件 同时支持TextChanged LostFocus GotFocus事件 1 TextChanged事件 当用户向文本框中输入新信息 或当程序把Text属性设置为新值从而改变文本框的Text属性时 将触发TextChanged事件 程序运行后 在文本框中每键入一个字符 就会引发一次TextChanged事件 2 LostFocus事件 当控件失去焦点时发生该事件 例如当按下Tab键使输入光标离开文本框或者用鼠标选择窗体中的其他控件时触发该事件 用TextChanged事件过程和LostFocus事件过程都可以检查文本框的Text属性值 但后者更有效 3 GotFocus事件 当文本框具有输入焦点 即处于活动状态 时发生该事件 从键盘上输入的每个字符都将在该文本框中显示出来 只有当一个文本框被激活并且其可见性 Visible属性 为True时 才能接收到焦点 将在6 9节介绍焦点 3 文本框方法 Focus是文本框中较常用的方法 格式如下 对象 Focus这里的 对象 可以是任何具有焦点的控件 该方法可以把焦点移到指定的控件中 当在窗体上建立了多个文本框后 可以用该方法把光标置于所需要的文本框 例6 1 用TextChanged事件改变文本框的Text属性 在窗体上建立三个文本框和一个按钮 其Name属性分别为TextBox1 TextBox2 TextBox3和Button1 然后编写如下的事件过程 PrivateSubButton1 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton1 ClickTextBox1 Text VisualBasic NET EndSubPrivateSubTextBox1 TextChanged ByValsenderAsObject ByValeAsSystem EventArgs HandlesTextBox1 TextChangedTextBox2 Text LCase TextBox1 Text TextBox3 Text UCase TextBox1 Text EndSub 6 2图片框 图片框是VisualBasic NET中用来显示图形的基本控件 用于在窗体的指定位置显示图形信息 在VisualBasic NET的工具箱中 图片框的图标如图6 4所示 其默认名称为PictureBoxX X为1 2 3 6 2 1图片框的主要属性 1 与窗体属性相同的属性2 Image属性3 BorderStyle属性4 SizeMode属性 其中BorderStyle是枚举类型 可以取以下值 BorderStyle None无边框BorderStyle FixedSingle单线边框BorderStyle Fixed3D立体边框例如 PictureBox1 BorderStyle BorderStyle Fixed3D 其中PictureBoxSizeMode是枚举类型 可以取以下值 PictureBoxSizeMode NormalPictureBoxSizeMode StretchImagePictureBoxSizeMode AutoSizePictureBoxSizeMode CenterImage例如 PictureBox1 SizeMode PictureBoxSizeMode AutoSize和窗体一样 图片框可以接收Click 单击 DblClick 双击 事件 6 2 2图形文件的装入 所谓图形文件的装入 就是把VisualBasic NET所能接收的图形文件装入图片框或其他控件中 1 在设计阶段装入图形文件 用属性窗口中的Image属性装入 利用剪贴板把图形粘贴 Paste 到图片框中 2 在运行期间装入图形文件 在运行期间装入图形文件 其一般格式为 图片框名 Image Image FromFile 文件名 例如 PictureBox1 Image Image FromFile d metafile 3dxcirar wmf 图片框举例 例如 在窗体上建立4个图片框 然后编写如下的事件过程 PrivateSubForm1 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesMyBase ClickPictureBox1 SizeMode PictureBoxSizeMode StretchImagePictureBox2 SizeMode PictureBoxSizeMode StretchImagePictureBox3 SizeMode PictureBoxSizeMode StretchImagePictureBox4 SizeMode PictureBoxSizeMode StretchImagePictureBox1 Image Image FromFile d a jpg PictureBox2 Image Image FromFile d b jpg PictureBox3 Image Image FromFile d c jpg PictureBox4 Image Image FromFile d d jpg EndSub 例6 2 编写程序 交换两个图片框中的图形 在传统的程序设计中 交换两个变量的值是十分普通的操作 通常要引入第三个变量进行交换 交换两个图片框中图形的操作与此类似 首先在窗体上建立三个图片框PictureBox1 PictureBox2 PictureBox3 其中PictureBox3的大小和位置任意 然后编写如下事件过程 PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadPictureBox1 SizeMode PictureBoxSizeMode StretchImagePictureBox2 SizeMode PictureBoxSizeMode StretchImagePictureBox3 SizeMode PictureBoxSizeMode StretchImagePictureBox1 Image Image FromFile d b jpg PictureBox2 Image Image FromFile d c jpg EndSubPrivateSubForm1 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesMyBase Click 交换两个图片中的图形PictureBox3 Image PictureBox1 ImagePictureBox1 Image PictureBox2 ImagePictureBox2 Image PictureBox3 Image 隐藏第三个图片框PictureBox3 Visible FalseEndSub 6 3按钮控件 按钮是VisualBasic NET应用程序中较为常用的控件 它提供了用户与应用程序交互的最简便的方法 在工具箱中 按钮的图标如图6 9所示 其默认名称和标题 Text属性 为ButtonX 其中X为1 2 3 6 3 1属性和事件 1 Text属性2 FlatStyle属性3 Image属性4 BackGroundImage属性5 ImageAlign属性6 TextAlign属性 6 3 2应用举例 在应用程序中 按钮的应用十分广泛 以前我们曾多次见过这方面的例子 有时候 为了防止误操作 可以让按钮暂时失去作用或消失 例如 想要复制数据或文件 但在某个时刻数据或文件不存在 此时就需要使 复制 按钮暂时失去作用或消失 这种功能可以用Enabled和Visible属性来实现 例如 设置Button1 Enabled True使按钮生效设置Button1Enabled False使按钮失去作用设置Button1 Visible False使按钮消失设置Button1 Visible True使按钮重新出现用Enabled属性可以检查一个按钮是否有效 例如 IfButton1 EnabledThenTextBox1 Text Buttonisenabled ElseTextBox1 Text Buttonisdisabled EndIf上述过程测试按钮Button1是否可用 如果可用 则其Enabled属性为True 即Button1 Enabled True 过程中条件语句的 条件 为真 否则为假 例6 3 编写程序 模拟交通信号灯的切换 信号灯有三种 分别为红 黄 绿 在某个时刻只能亮一个 程序将模拟这种操作 在窗体上画三个图片框和两个按钮 其属性设置如下 控件属性设置值 窗体Text信号灯图片框ImageTrffic10a icoNamePictureBox1SizeModeAutoSize图片框ImageTrffic10b icoNamePictureBox2SizeModeAutoSize图片框ImageTrffic10c icoNamePictureBox3SizeModeAutoSize按钮Text 切换信号灯 NameButton1按钮Text 结束程序 NameButton2 编写如下的事件过程 PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadPictureBox2 Visible FalsePictureBox3 Visible FalseEndSubPrivateSubButton1 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton1 ClickIfPictureBox1 Visible TrueThenPictureBox1 Visible FalsePictureBox2 Visible TrueElseIfPictureBox2 Visible TrueThenPictureBox2 Visible FalsePictureBox3 Visible TrueElsePictureBox3 Visible FalsePictureBox1 Visible TrueEndIfEndSubPrivateSubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickEndEndSub 6 4选择控件 复选框和单选按钮 在应用程序中 有时候需要用户作出选择 这些选择有的很简单 有的则比较复杂 为此 VisualBasic NET提供了几个用于选择的标准控件 包括复选框 单选按钮 列表框和组合框 这一节介绍复选框和单选按钮 下一节介绍列表框和组合框 在工具箱中 复选框和单选按钮的图标如图6 14所示 其默认名称分别为CheckBoxX和RadioButtonX 其中X为1 2 3 在应用程序中 复选框和单选按钮用来表示状态 可以在运行期间改变其状态 复选框用 表示被选中 可以同时选择多个复选框 与此相反 在一组单选按钮中 只能选择其中的一个 当打开某个单选按钮时 其他单选按钮都处于关闭状态 这与收 录 音机上按钮的作用类似 因此也称收 录 音机按钮 RadioButton 单选按钮一般用分组框进行分组 6 4 1复选框和单选按钮的属性和事件 以前介绍的大多数属性都可用于复选框和单选按钮 包括 Enabled Font Size Height Width Location X Y Name Text Visible等 和按钮一样 对复选框和单选按钮可以使用Image ImageAlign和TextAlign属性 CheckedState属性 用于复选框 Checked属性 用于复选框和单选按钮 Apperence属性 用于复选框和单选按钮 FlatStyle属性 用于复选框和单选按钮 6 4 2应用举例 例6 4 编写程序 用单选按钮选择旅游路线 并在文本框中显示出来 为了简单起见 我们只给出三条路线 这需要在窗体上建立一个文本框和三个单选按钮 其属性设置如下 控件属性设置值 文本框NameTextBox1Text空白Font Size14单选按钮1NameRadioButton1Text 西安 成都 昆明 单选按钮2NameRadioButton2Text 上海 杭州 广州 单选按钮3NameRadioButton3Text 哈尔滨 沈阳 大连 在窗体层声明如下变量并赋初值 DimSAsString 选择的路线是 为三个单选按钮编写事件过程如下 PrivateSubRadioButton1 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesRadioButton1 ClickTextBox1 Text S RadioButton1 TextEndSubPrivateSubRadioButton2 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesRadioButton2 ClickTextBox1 Text S RadioButton2 TextEndSubPrivateSubRadioButton3 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesRadioButton3 ClickTextBox1 Text S RadioButton3 TextEndSub 6 5选择控件 列表框和组合框 利用列表框 可以选择所需要的项目 而组合框可以把一个文本框和列表框组合为单个控制窗口 在工具箱中 列表框和组合框的图标如图6 17所示 列表框和组合框的默认名称分别为ListBoxX和ComboBoxX X为1 2 3 6 5 1列表框 列表框支持的标准属性包括 Enabled Font Size Height Width Location X Y Visible等 此外 列表框还具有以下特殊属性 1 Items 2 Items Count 3 SelectedIndex 4 SelectionMode 5 GetSelected 6 Sorted 7 Text 8 MultiColumn 9 ColumnWidth 列表框事件 列表框接收Click DblClick GotFocus和LostFocus事件 但有时不用编写Click事件过程代码 而是当单击一个按钮或发生DblClick事件时 读取Text属性 此外 列表框还可以接收SelectedIndexChanged事件 当在列表框中改变选择项目时触发该事件 列表框方法 列表框可以使用Items Add Items Clear Items Remove和Items RemoveAt等四种方法 用来在运行期间修改列表框的内容 1 Items Add该方法用来在列表框中插入一行文本 其格式为 列表框名 Items Add 项目字符串 Items Add方法把 项目字符串 的文本内容放入列表框的尾部 假定Sorted属性的值为False 该方法只能单个地向表中添加项目 例如 ListBox1 Items Add TextBox1 Text 将把文本框TextBox1中的文本添加到列表框ListBox1中 2 Items Clear该方法用来清除列表框中的全部内容 格式为 列表框名 Items Clear执行Items Clear方法后 Items Count重新被设置为0 3 Items Remove用该方法可以删除列表框中指定的项目 格式为 列表框 Items Remove 表项字符串 例如 ListBox1 Items Remove IBM 将删除列表框中的 IBM 项 4 Items RemoveAt该方法用来删除列表框中指定的项目 其格式为 列表框名 Items RemoveAt 索引值 Items RemoveAt方法从列表框中删除以 索引值 为地址的项目 该方法每次只能删除一个项目 在窗体上建立一个列表框ListBox1 编写下面的过程 PrivateSubListBox1 SelectedIndexChanged ByValsenderAsObject ByValeAsSystem EventArgs HandlesListBox1 SelectedIndexChangedListBox1 Items RemoveAt ListBox1 SelectedIndex EndSub程序运行后 如果在列表框中选择某个项目 则可把该项目删除 例6 5 交换两个列表框中的项目 其中一个列表框中的项目按字母升序排列 另一个列表框中的项目按加入的先后顺序排列 当双击某个项目时 该项目从本列表框中消失 并出现在另一个列表框中 PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadDimaAsIntegerListBox1 Items Add IBM ListBox1 Items Add Compaq ListBox1 Items Add HP ListBox1 Items Add FUJI ListBox1 Items Add Digital ListBox1 Items Add 长城 ListBox1 Items Add 联想 ListBox1 Items Add Canon ListBox1 Items Add 四通 ListBox1 Items Add Acer ListBox1 Items Add Nec ListBox1 Items Add NCR EndSubPrivateSubListBox1 DoubleClick ByValsenderAsObject ByValeAsSystem EventArgs HandlesListBox1 DoubleClickListBox2 Items Add ListBox1 Text ListBox1 Items Remove ListBox1 SelectedItem EndSubPrivateSubListBox2 DoubleClick ByValsenderAsObject ByValeAsSystem EventArgs HandlesListBox2 DoubleClickListBox1 Items Add ListBox2 Text ListBox2 Items Remove ListBox2 SelectedItem EndSub 复选列表框 复选列表框是对标准列表框的扩展 其功能和用法基本相同 主要有以下两点区别 1 在表项的左侧显示复选框标记 2 在复选列表框中不能使用多选方式 即只能选择一项或没有任何选择 只有加了选择标记的才是被选中的项 6 5 2组合框 组合框 ComboBox 是组合列表框和文本框的特性而成的控件 也就是说 组合框是一种独立的控件 但它兼有列表框和文本框的功能 它可以像列表框一样 让用户通过鼠标选择所需要的项目 也可以像文本框一样 用键入的方式选择项目 组合框和列表框功能类似 在某些情况下可以互相代替 但在具体应用中有一定的差别 一般来说 组合框适用于在一组选项中反复选择的情况 而列表框适用于将输入限制为列表中内容的情况 组合框包含文本框字段 可以键入列表中没有的选项 此外 组合框可节约屏幕空间 组合框属性 1 DropDownStyle 2 Text 组合框事件 前面在介绍属性时 已谈到部分组合框事件 实际上 组合框所响应的事件依赖于其DropDownStyle属性 例如 只有简单组合框 DropDownStyle属性值为Simple 才能接收DblClick事件 其他两种组合框可以接收CLick事件和Dropdown事件 对于下拉式组合框 属性DropDownStyle的值为DropDown 和简单组合框 可以在编辑区输入文本 当输入文本或从列表中选择项目时可以接收TextChanged事件 一般情况下 用户选择项目之后 只需要读取组合框的Text属性 当用户单击组合框中向下的箭头时 将触发Dropdown事件 该事件实际上对应于向下箭头的单击 Click 事件 组合框方法 前面介绍的Items Add Items Clear和Items Remove Items RemoveAt方法也适用于组合框 其用法与在列表框中相同 例6 6 从屏幕上选择微机的配置 并显示出来 微机的配置有很多种 这里只给出机型 CPU主频 内存和硬盘容量 用户可以选择自己所需要的配置 然后输出这些配置 表6 1对象属性设置 对象属性设置值 窗体Text 微机主要配置 标签1Text 机型 标签2Text CPU主频 标签3Text 内存 标签4Text 硬盘 组合框1DropDownStyleSimple组合框2DropDownStyleDropDownList组合框3DropDownStyleDropDownList组合框4DropDownStyleDropDown按钮1Text 确定 按钮2Text 取消 编写如下的事件过程 PrivateSubForm1 Load ByValsender AsSystem Object ByValeAs System EventArgs HandlesMyBase LoadComboBox1 Items Add IBM ComboBox1 Items Add Compaq ComboBox1 Items Add 方正 ComboBox1 Items Add 联想 ComboBox1 Items Add HP ComboBox1 Items Add Acer ComboBox1 Items Add DEC ComboBox2 Items Add 奔腾41 0G ComboBox2 Items Add 奔腾41 2G ComboBox2 Items Add 奔腾41 4G ComboBox2 Items Add 奔腾41 5G ComboBox2 Items Add 奔腾41 7G ComboBox2 Items Add 奔腾41 8G ComboBox2 Items Add 奔腾42 0G ComboBox3 Items Add 128MBSDRAM ComboBox3 Items Add 256MBDDR ComboBox3 Items Add 256MBDDR333 ComboBox3 Items Add 512MBSDRAM ComboBox4 Items Add 20GB ComboBox4 Items Add 32GB ComboBox4 Items Add 40GB ComboBox4 Items Add 60GB ComboBox4 Items Add 80GB EndSub PrivateSubButton1 Click ByValsenderAs System Object ByValeAsSystem EventArgs HandlesButton1 ClickDimS clAsStringcl Chr 13 Chr 10 S 所选择的配置为 S S cl 机型 ComboBox1 TextS S cl CPU ComboBox2 TextS S cl 内存 ComboBox3 TextS S cl 硬盘 ComboBox4 TextMsgBox S 微机配置 EndSubPrivateSubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickEndEndSub 运行结果 6 6滚动条 滚动条通常用来附在窗口上帮助观察数据或确定位置 也可用来作为数据输入的工具 被广泛地用于Windows应用程序中 滚动条分为两种 即水平滚动条和垂直滚动条 在工具箱中 水平滚动条和垂直滚动条的图标如图6 26所示 其默认名称分别为HScrollBarX和VScrollBarX X为1 2 3 滚动条属性 1 Value 2 Maximum 3 Minimum 4 LargeChange 5 SmallChange 滚动条事件 与滚动条有关的事件主要是Scroll和ValueChanged 当在滚动条内拖动滚动框时会触发Scroll事件 单击滚动箭头或滚动条时不发生Scroll事件 而改变滚动框的位置后会触发ValueChange事件 Scroll事件用于跟踪滚动条中的动态变化 ValueChange事件则用来得到滚动条的最后的值 例6 7 按下列步骤操作 试验滚动条的功能 1 在窗体上建立6个控件 其中4个标签 1个文本框 1个滚动条 如图6 28所示 2 通过属性窗口把4个标签的Text属性分别设置为 速度 慢 快 和空白 把文本框的Text属性设置为空白 然后把第四个标签的BorderStyle属性设置为Fixed3D 3 把水平滚动条的属性设置为 LargeChange10Maximum200Minimum0SmallChange2 4 双击滚动条 弹出代码窗口 编写ValueChanged事件过程 PrivateSubHScrollBar1 ValueChanged ByValsenderAsObject ByValeAsSystem EventArgs HandlesHScrollBar1 ValueChangedTextBox1 Text Str HScrollBar1 Value EndSub 5 编写处理Scroll事件的过程 PrivateSubHScrollBar1 Scroll ByValsenderAsSystem Object ByValeAsSystem Windows Forms ScrollEventArgs HandlesHScrollBar1 ScrollLabel4 Text 移动到 Str HScrollBar1 Value EndSub 6 7计时器 VisualBasic NET可以利用系统内部的计时器计时 而且提供了定制时间间隔 Interval 的功能 可以由用户自行设置每个计时器事件的时间间隔 所谓时间间隔 指的是各计时器事件之间的时间 它以毫秒 千分之一秒 为单位 在大多数个人计算机中 计时器每秒钟最多可产生18个事件 即两个事件之间的间隔为56 1000秒 也就是说 时间间隔的准确度不会超过1 18秒 计时器可以使用Name属性和Enabled属性 但其重要的属性是Interval 该属性用来设置计时器事件之间的间隔 以毫秒为单位 其值为Integer类型 通常60000毫秒为1分钟 如果把Interval属性设置为1000 则表明每秒钟发生一个计时器事件 如果希望每秒产生n个事件 则属性Interval的值为1000 n 计时器支持Tick事件 对于一个含有计时器控件的窗体 每经过一段由属性Interval指定的时间间隔 就产生一个Tick事件 设计一个电子表表6 2控件属性设置 控件属性设置值 计时器NameTimer1Interval1000标签NameLabel1BorderStyleFixed3DFont Size18AutoSizeTrue PrivateSubTimer1 Tick ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesTimer1 TickLabel1 Text TimeOfDayEndSub 例6 8 用计时器实现控件的移动 在窗体上画一个标签 把它的AutoSize属性设置为True Font Size属性设置为18 BorderStyle属性设置为Fixed3D 再画两个按钮 然后再画一个计时器 PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadTimer1 Interval 1000Label1 Text VisualStudio NET Button1 Text 移动 停止 Button2 Text 退出 EndSubPrivateSubTimer1 Tick ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesTimer1 TickLabel1 Left 10Label1 Left Label1 LeftModMe WidthBeep 响铃EndSubPrivateSubButton1 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton1 ClickTimer1 Enabled NotTimer1 EnabledEndSubPrivateSubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickEndEndSub 6 8分组框控件 分组框的属性包括 Enabled Font Height Left Top Visible Width 此外 Name属性用于在程序代码中标识一个分组框 而Text属性定义了分组框的可见文字部分 对于分组框来说 通常把Enabled属性设置为True 这样才能保证分组框内的对象是 活动 的 如果把分组框的Enabled属性设置为False 则其标题会变灰 分组框中的所有对象 包括文本框 按钮及其他对象 均被屏蔽 使用分组框的主要目的 是为了对控件进行分组 即把指定的控件放到分组框中 为此 必须先画出分组框 然后在分组框内画出需要成为一组的控件 这样才能使分组框内的控件成为一个整体 和分组框一起移动 如果在分组框外画一个控件 然后把它拖到分组框内 则该控件不是分组框的一部分 当移动分组框时 该控件不会移动 例6 9 编写一个 选举投票 程序 参加选举的人对候选人投票 程序统计每个候选人的票数 并输出显示结果 在窗体上画3个分组框 在第一个分组框内画3个单选按钮 在第二个分组框内画3个按钮 在第三个分组框内画1个文本框 并把该文本框的MultiLine属性设置为True DimNum Z Num L Num WAsInteger 该语句放在窗体层 PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadMe Text 选举投票 GroupBox1 Text 候选人 GroupBox2 Text 操作 GroupBox3 Text 显示结果 RadioButton1 Text 张得功 RadioButton2 Text 李得胜 RadioButton3 Text 王守义 Button1 Text 投票 Button2 Text 显示结果 Button3 Text 退出 TextBox1 Text Num Z 0Num L 0Num W 0EndSub PrivateSubButton1 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton1 ClickIfRadioButton1 CheckedThenNum Z Num Z 1EndIfIfRadioButton2 CheckedThenNum L Num L 1EndIfIfRadioButton3 CheckedThenNum W Num W 1EndIfEndSubPrivateSubButton2 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton2 ClickDimclAsString Chr 13 Chr 10 DimSAsString 选举结果 clS S cl RadioButton1 Text Str Num Z 票 S S cl RadioButton2 Text Str Num L 票 S S cl RadioButton3 Text Str Num W 票 TextBox1 Text SEndSubPrivateSubButton3 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton3 ClickClose EndSub 6 9焦点与Tab顺序 在可视程序设计中 焦点 focus 是一个十分重要的概念 在这一节中 我们将介绍如何设置焦点 同时介绍窗体上控件的Tab顺序 6 9 1焦点 焦点是接收用户鼠标或键盘输入的能力 当一个对象具有焦点时 它可以接收用户的输入 在Windows系统中 某个时刻可以运行多个应用程序 但只有具有焦点的应用程序才有活动标题栏 才能接收用户输入 类似地 在含有多个文本框的窗体中 只有具有焦点的文本框才能接收用户的输入 当对象得到焦点时 会产生GotFocus事件 而当对象失去焦点时 将产生LostFocus事件 LostFocus事件过程通常用来对更新进行确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025重庆华兴工程咨询有限公司外包岗位招聘3人笔试历年参考题库附带答案详解
- 2025辽宁大唐国际葫芦岛热力有限责任公司招聘13人笔试历年参考题库附带答案详解
- 2025福建龙岩市龙腾国有资产经营发展有限公司招聘(遴选)6人笔试历年参考题库附带答案详解
- 2025福建福州城市客运场站运营有限公司社会招聘1人笔试历年参考题库附带答案详解
- 2025福建厦门国贸物业管理有限公司招聘102人笔试历年参考题库附带答案详解
- 2025年六安市人民医院公开招聘69人考前自测高频考点模拟试题含答案详解
- 2025浙江博思睿人力招聘1人(派遣至海宁市袁花镇人民政府)笔试历年参考题库附带答案详解
- 2025江西南昌联帆环境工程有限公司派遣招聘笔试历年参考题库附带答案详解
- 2025国家能源投资集团有限责任公司审计中心社会招聘(12人)笔试历年参考题库附带答案详解
- 2025安徽含山县县级公立医院招聘紧缺人才13人模拟试卷及一套完整答案详解
- 足浴技师与店内禁止黄赌毒协议书范文
- 劳务装修包清工劳务合同
- 《计算机视觉-基于OpenCV的图像处理》全套教学课件
- GB/T 18029.1-2024轮椅车第1部分:静态稳定性的测定
- 高考生物选择性必修2生物与环境基础知识填空默写(每天打卡)
- FZT 34002-2016 亚麻印染布行业标准
- 2023年高考物理(山东卷)真题评析及2024备考策略
- 全国身份证号地区对应表
- 主要机械设备表(汇总200种)
- GB/T 18386-2017电动汽车能量消耗率和续驶里程试验方法
- GB/T 17282-1998根据运动粘度确定石油分子量(相对分子质量)的方法
评论
0/150
提交评论