VB窗体和控件2
- 格式:doc
- 大小:71.50 KB
- 文档页数:2
VB程序设计VB程序设计一、介绍VB程序设计是指使用Visual Basic语言进行软件开发的过程。
Visual Basic是一种高级的、可视化的编程语言,广泛用于Windows平台上的应用程序开发。
在VB程序设计中,开发者可以通过简单的拖拽和控件的属性设置来完成界面的创建和布局,通过编写逻辑代码来实现程序的各类功能。
VB程序设计的特点是简单易学、开发效率高,特别适合初学者和快速开发的场景。
二、VB程序设计的基本语法1. 变量和数据类型在VB程序设计中,变量是用来存储数据的一种容器。
在声明变量时,需要指定变量的类型,常用的数据类型有整型、浮点型、字符型等。
例如,可以使用以下语句声明一个整型的变量:Dim num As Integer2. 控制结构控制结构用于根据条件来执行不同的代码块。
常用的控制结构有条件语句和循环语句。
条件语句:If 条件 Then' 代码块ElseIf 条件 Then' 代码块Else' 代码块End If循环语句:For i = 1 To 10' 代码块Next iDo While 条件' 代码块Loop3. 函数和过程函数是一段代码块,接受输入参数并返回一个值。
过程是一段代码块,用于执行一系列操作。
在VB程序设计中,可以自定义函数和过程,也可以使用内置的函数和过程。
例如,可以使用以下语句定义一个函数:Function Add(num1 As Integer, num2 As Integer) As IntegerAdd = num1 + num2End Function4. 对象和事件在VB程序设计中,控件是程序的核心。
通过使用控件,可以创建窗体、按钮、文本框等等。
每个控件都是一个对象,可以通过设置对象的属性和调用对象的方法来实现不同的功能。
对象还可以响应事件,例如鼠标、键盘按下等。
开发者可以编写事件处理程序来控制对象的行为。
例如:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click' 代码块End Sub三、VB程序设计的开发工具1. Visual StudioVisual Studio是微软推出的集成开发环境(IDE),可用于开发多种类型的应用程序,包括VB程序。
VB如何使控件位置和大小自动适应窗体变化的三种不同模式本人发现VB2008前版本使控件位置和大小自动适应窗体变化的提问很多。
但回答的正确的不多。
本人用vb6.0也遇到此问题。
认真研究的一下。
给出最正确的三种模式给大家借鉴。
有更好方法可以在交流。
代码是无需更改的。
第一种。
就是最实用的,就是所有控件的width和height按比例随窗体变化,位置也是当然是按比例哦。
控件的字体不变。
如下复制到代码:'改比例,字体不该。
最实用Option ExplicitPrivate FormOldWidth As Long '保存窗体的原始宽度Private FormOldHeight As Long '保存窗体的原始高度Private Sub Form_Load()Call ResizeInit(Me) '在程序装入时必须加入End SubPrivate Sub Form_Resize()Call ResizeForm(Me) '确保窗体改变时控件随之改变End Sub'在调用ResizeForm前先调用本函数Public Sub ResizeInit(FormName As Form)Dim Obj As ControlFormOldWidth = FormName.ScaleWidthFormOldHeight = FormName.ScaleHeightOn Error Resume NextFor Each Obj In FormNameObj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " " Next ObjOn Error GoTo 0End Sub'按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数Public Sub ResizeForm(FormName As Form)Dim Pos(4) As DoubleDim i As Long, TempPos As Long, StartPos As LongDim Obj As ControlDim ScaleX As Double, ScaleY As DoubleScaleX = FormName.ScaleWidth / FormOldWidth '保存窗体宽度缩放比例ScaleY = FormName.ScaleHeight / FormOldHeight '保存窗体高度缩放比例On Error Resume NextFor Each Obj In FormNameStartPos = 1For i = 0 To 4'读取控件的原始位置与大小TempPos = InStr(StartPos, Obj.Tag, " ", vbTextCompare)If TempPos > 0 ThenPos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)StartPos = TempPos + 1ElsePos(i) = 0End If'根据控件的原始位置及窗体改变大小的比例对控件重新定位与改变大小Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY Next iNext ObjOn Error GoTo 0End Sub第二种,只位置就是控件的left和top随着变。
第三章VB中常用高级控件第三章VB中常用高级控件在本章中,读者将会接触到多种VB中的高级ActiveX控件,这些控件,是进行VB较高级编程的重要基础,本章将以简洁的说明和丰富的实例使读者很快的掌握这些控件的使用方法。
本章重点:z熟悉普通控件的使用z了解一些专用控件z熟悉INET控件的使用3.1 普通应用控件所谓的普通应用控件,不是这些控件很普通,而是这些控件可以在许多地方使用,并没有专门的用途,编程者可以根据需要随时使用它们。
3.1.1 ListView控件ListView控件控件与普通控件中的列表框控件很类似,但它提供更多的显示项目的视图。
通过此控件,可以轻松的将项目分成几列,并显示伴随的图标和文本。
基本属性:¾ColumnHeaders 属性该属性用于对 ColumnHeader 对象集合的引用。
ColumnHeader 对象是 ListView 控件中包含标头文字的项目。
ColumnHeader 对象的数目决定每个 ListItem 对象可包含的子项目数目。
删除 ColumnHeader 对象后所有与列关联的子项目也将被删除,并且每个 ListItem 对象的子项目数组将平移以更新 ColumnHeader 的索引,而这将导致剩余的列标头 SubItemIndex 属性的改变。
了解ColumnHeader 对象对学习ListView控件具有重要意义。
下面我们中断一下,先介绍这个对象。
我们将来还要遇到几种类似的情况,就是在一个控件使用过程中,最重要的并不是这个控件本身的属性和方法,而是它所包含对象的属性和方法,这时我们就会转而介绍对象的用法,然后再返回介绍控件本身。
z ColumnHeader对象的基本属性:ColumnHeader对象有count、icon、index、item、key、text等属性。
分别表示如下含义:count:返回集合中ColumnHeader对象的数目icon:返回或者设置被对象显示的图标。
vbnet菜单控件用法是一种流行的编程语言,用于开发Windows桌面应用程序。
菜单控件是应用程序中常用的控件之一,用于创建各种类型的菜单,如标准菜单、工具栏菜单和弹出菜单等。
在本篇文章中,我们将介绍菜单控件的用法。
一、菜单控件概述提供了多种菜单控件,包括MenuStrip、MenuBar、ToolStripMenuItem等。
这些控件可以用来创建应用程序的主菜单、子菜单和快捷菜单等。
通过使用菜单控件,开发者可以方便地管理应用程序中的各种功能和选项。
二、菜单控件的创建和使用1.创建菜单控件:在中,可以使用工具箱(Toolbox)中的菜单控件来创建菜单。
可以通过将控件拖放到窗体上,并为其添加控件文本和事件处理程序来创建菜单。
2.添加菜单项:可以使用MenuStrip控件的MenuItems属性来添加菜单项。
可以为每个菜单项设置文本、图标和快捷键等属性。
3.添加子菜单:可以使用MenuStrip控件的DropDownItems属性来添加子菜单。
子菜单可以是另一个MenuStrip控件或者MenuBar控件。
4.事件处理:当用户单击菜单项或执行菜单操作时,会触发相应的事件。
可以通过为菜单控件添加事件处理程序来响应这些事件,执行相应的操作。
三、示例代码下面是一个简单的应用程序,演示了如何使用菜单控件:```vbnetPublicClassForm1PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesM yBase.Load'创建菜单控件DimmenuBarAsMenuBar=NewMenuBar()Me.Controls.Add(menuBar)'添加标准菜单项DimfileMenuAsNewMenuStrip()menuBar.MenuItems.Add()fileMenu.Text="文件"fileMenu.AutoSize=AutoSizeMode.TruefileMenu.Items.Add("新建")fileMenu.Items.Add("打开")fileMenu.Items.Add("保存")fileMenu.Items.Add("退出")'添加子菜单DimfileSubmenuAsNewMenuStrip()fileMenu.Items.Add("编辑",fileSubmenu)fileSubmenu.Text="编辑"fileSubmenu.AutoSize=AutoSizeMode.TruefileSubmenu.Items.Add("剪切")fileSubmenu.Items.Add("复制")fileSubmenu.Items.Add("粘贴")'绑定事件处理程序AddHandlermenuBar.MouseDown,AddressOfMenuBar_MouseDownEndSubPrivateSubMenuBar_MouseDown(senderAsObject,eAsMouseEventA rgs)'处理菜单事件DimmenuItemAsToolStripMenuItem=CType(sender,ToolStripMenu Item)SelectCasemenuItem.TextCase"新建"'执行新建操作...Case"打开"'执行打开操作...Case"保存"'执行保存操作...Case"退出"'退出应用程序...Case"编辑剪切"'执行剪切操作...Case"编辑粘贴"'执行粘贴操作...EndSelectEndSubEndClass```以上代码创建了一个简单的窗体应用程序,包含一个MenuBar控件和多个菜单项。
组合框基本属性Name、Height、width、Top、L,eft、Enabled、Visible和Index组合框与列表框具有相同的属性:List、Listindex、ListCount、Selected、Sorted、Text、MultiSelect,Style 等。
组合框的特有属性:组合框有3种不同的样式,其下拉式组合框、简单组合框可输入内容,但必须通过Additem方法加入。
组合框的风格是由Style属性值决定的。
设置组合框的Style属性可以选用组合框的3种样Style属性为0时,是下拉式组合框,默认状态;Style属性为1时,是简单组合框;Style属性为2时,是下拉列表框。
(1)下拉组合框下拉组合框,显示在屏幕上的仅是文本编辑器和一个下拉箭头。
与下拉列表框相似,蛋下拉列表框可以通过输入文本的方法在表项中选择。
可识别dropdownclickchannge事件。
(2)简单组合框简单组合框,列出所有的项目供用户选择,右边没有下拉箭头,列表框不能收起和下拉。
与文本编辑器一起显示在、屏幕上。
用户可在文本框中直接输入列表项中没有的选项,也可从列表中选择。
可以识别clickchannge事件。
(3)下拉式列表框下拉式列表框与下拉组合框相似,区别是用户不能输入列表框中没有的项,只能在列表中选择。
不能识别dbclick和changge事件。
可识别dropdownclick事件组合框拥有列表框和文本框的大部分属性。
组合框也有Seli,ength、SelStart和SelText这3个文本框才有的属性。
还有LOcked属性和Change事件等。
常用事件组合框响应的事件依赖于其Style属性。
(1)简单组合框(Style属性值为1),才有接收DblClick事件。
(2)下拉组合框(Style属性值为0)与下拉列表框(Style属性值为2),可接收Click事件和DropDown事件。
(3)下拉组合框和简单组合框,可以在文本区输入文本,当输入文本时,可以接收Change事件。
VB 窗体和控件专练(二) 2013.4.26
1、_____是由Visual Basic提供的一种专门的子程序,由对象本身所具有,反映该 对象功能的内部函数或过程。 a) 文件 b) 属性 c) 方法 d) 窗体 2、在列表框中当前被选中的列表项的序号是由下列________属性表示的。 A.List B.Index C.Listlndex D.False 3、为组合框Combol增加一个数据项"计算机",下列命令正确的是________ A.Combol.Text="计算机" B.Combol.ListIndex="计算机" C.Combol.Addltem "计算机" D.Combol.ListCount="计算机" 4、执行了下面的程序后,组合框中数据项的值是________。 Private Sub Form_Click() For i=1 To 6 Combol.AddItem i Next i For i=1 To 3 Combol.RemoveItem i Next i End Sub A.1 5 6 B.2 4 6 C.4 5 6 D.1 3 5 5、要清除列表框中所有的列表项时,应使用________ 方法。 A.Remove B.Clear C.Removeltem D.Move 6、引用列表框(Listl)最后一个数据项应使用________。 A.Listl.List(Listl.ListCount) B.List1.List(List1.ListCount-1) C.Listl.List(ListCount) D.Listl.List(ListCount-1) 7、 窗体上有一个按钮和一个列表框(Sorted属性为false),执行下列过程后的输出结果 Private Sub Command1_Click() List1.AddItem "China" List1.AddItem "Great" List1.AddItem "Is", 1 List1.AddItem "!", 3 Print List1.List(2) End Sub A.Great B.China C.Is D.! 8、 ______对象不能响应Click事件。 a) 列表框 b) 图片框 c) 窗体 d) 计时器 9、 没有Caption属性的控件是_____。 a) Label b) OptionButton c) Frame d) ListBox 10、使窗体自动向下移动的语句是Move_____。 a) Left, Top+100 b) Top+100 c) Top+100 d) Top=Top+100 11、RGB函数通过红、绿、蓝三基色混合产生某种颜色,其语法为RGB(红、绿、蓝), 括号中红、绿、蓝三基色的成分使用0-255之间的整数。若使用3个滚动条分别 输入3种基色,为保证输入数值有效,则应设置_____属性。 a)Max和Min b) SmallChange和LargeChange c) Scroll和Change ) Value 12、_____控件可以使用SetFocus()方法。 a) Frame b) Label c) TextBox d) Timer 13、滚动条单击边上的箭头按钮移动的大小由_____设定。 a) Change b) SmallChange c) Scroll d) Tabstop 14、ControlBox属性只适用于窗体,当窗体的______属性设置为0-None时,则 ControlBox属性不起作用。 a) Borderstyle b) Autoredraw c) Windowstate d) Enabled
15、确定复选框是否选中,可访问的属性是________。 A.Value B.Checked C.Selected D.Caption 16、用InputBox函数可帮助生成_______。 a) 消息框 b) “保存” 对话框 c) 简单输入框 d) “颜色”对话框 17、在程序运行期间, 当滚运条的滑块被拖动时,则立即触发的滚动条事件是 ________ 。 A.Click B.Chang C.Scroll D.DblClick 18、当滚动条位于最左端或最上端时,Value属性被设置为________。 A.Min B.Max C.Max和Min之间 D.Max和Min之外 19、不能触发滚动条Change事件的操作是________。 A.拖动滚动块 B.单击两端箭头 C.单击滚动块 D.单击箭头与滚动块之间的滚动条 20、单击滚动条的滚动箭头时,产生的事件是________。 A.Click B.Scroll C.Change D. Move 21、能触发滚动条Scorll事件的操作是________。 A.拖动滚动条中滑块 B.单击滚动条中滑块 C.单击滚动条两端箭头 D.单击箭头与滑块之间的滚动条 22、为了在列表框中使用Ctrl和Shift键进行多个列表项的选择,应将列表框的Multiselect属性设置为________。 A.0 B.1 C.2 D.3 23、Inputbox函数的参数中,必选参数Prompt的作用是_____。 a) 输出信息 b) 定义提示信息 c) 定义隐含信息 d) 定义输入的位置 24、若要获得滚动条的当前值,可访问的属性是________ A.Text B.Value C.Max D.Min 25、窗体上有一个图片控件和一个按钮控件,下列程序执行的结果是________ Private Sub Command1_Click() Picture1.Picture = LoadPicture("c:\1.jpg") Picture1.Cls Picture1.Print "Test" End Sub A.窗体无显示,图片框显示图片和文字Test B.窗体上出现Test文本,图片框无显示 C.窗体上出现Test文本,图片框显示图片1.Jpg D.窗体无显示,图片框只显示Test文字 26、设置命令按钮的属性时,只有将________属性设置为1,Picture属性才有效,否则无效。 A.Style B.Caption C.Enabled D.DefauIt 27、在程序代码中将图片文件mypic.jpg装入图片框Pictrue1的语句是________。 A.Picture1.Picture="mypic.jpg" B.Picture1.Image="mypic.jpg" C.Picture1.Picture=LoadPicture("mypic.jpg") D.LoadPicture("mypic.jpg") 28、下列对象不能响应Click事件的是________。 A.列表框 B.图片框 C.窗体 D.计时器 29、定时器的Interval属性以________ 为单位指定Timer事件之间的时间间隔。 A.分 B.秒 C.毫秒 D.微秒 30、在窗体上有一个文本框控件,名称为TextTime;一个计时器控件,名称为Timer1。 要求每一秒在文本框中显示一次当前的时间。程序为: Private Sub Timer1_________ TextTime.text=Time End Sub 在下划线上应填入的内容是:________。 A.Enabled B.Visible C.Interval D.Timer 31、为启动定时器控件,需要设置定时器的属性是________。 A.Name B.Interval C.Left D.Top 32、若想使时钟控件每隔0.25秒触发一次Timer()事件,则可将Intenral属性值设为________ A.Interval=0.25 B.InterVal=25 C.Interval=250 D.InterVa1=2500 33、如果希望定时器控件每秒产生10个事件,则要将Interval属性的值设为________ . A.100 B.200 C.300 D.400 34、以下VB6.0控件中,有Caption属性的是________。 A.组合框 B.列表框 C.计时器 D.单选按钮 35、要使控件与框架捆绑在一起,以下操作正确的是________。 A.要在窗体不同位置上分别画一框架和控件,再将控件拖到框架上 B.在窗体上画好控件,再画框架将控件框起来 C.在窗体上画好框架,再在框架中画控件 D.在窗体上画好框架,再双击工具箱中的控件 36、可以用作其他控件容器的控件是________ A.窗体控件,列表框控件,图像控件 B.窗体控件,文本框控件,框架控件 C.窗体控件,框架控件,图片框控件 D.窗体控件,标签控件,图片框控件 37、能够获得一个文本框中被选取文本的内容的属性是________。 A、 Text B、 Length C、 SelStart D、 SelText 38、在文本框中,当用户键入一个字符时,能同时引发的事件是________。 A、 KeyPress和Click B、KeyPress和LostFocus 39、以下能够触发文本框Change事件的操作是________ 。 A、文本框失去焦点 B、文本框获得焦点C、设置文本框的焦点D、改变文本框的内容 40) 以下不属控件的一项是_____。 a) 文本框 b) 标签框 c) 列表框 d) 消息框 81) 确定一个窗体大小的属性是_____。 a) Width和Height b) Width和Top c) Top和Left d) Top和Height 84) Visual Basic的文件管理控件是_____。 a) 驱动器列表框、目录列表框、文件列表框 b) 驱动器列表框、文件列表框、组合框 c) 文本框、驱动器列表框、文件列表框 d) 驱动器列表框、文件列表框、图像框 85) Visual Basic主要用于______。 a) 图像处理 b) 文字处理 c) 制作视频文件 d) 开发应用程序 86) 把 InputBox 的返回值转换为数值应该使用的函数是______。 a) Log b) Str c) Len d) Val 109) 将当前窗体中显示的文字及绘制的图形全部清除,可以用方法_____。 a) Me.Clear b) Me.Cls c) Me=" " d) Me.Delete 110) 决定一个窗体有无控制菜单的属性是_____。 a) Minbutton b) Caption c) Maxbutton d) Controlbox 111) 控件的什么内容决定事件发生时的执行代码_____。 a) 属性 b) 事件过程 c) 函数 d) 通用过程 112) 控件内的对齐方式由_____属性决定。 a) Alignment b) WordWrap c) AutoSize d) Style 113) 下列事件中,命令按钮能响应的事件是_____。 a) DblClick b) Click c) Scroll d) Load 114) 通常,文本框的Setfocus方法不能使用在______事件中。 a) Form_click b) Form_load c) Command_click d) Label_click 117) 设定文本框中是否可以接受多行文本用_____属性。 a) MaxLength b) ToolTipText c) Multiline d) Tag 120) ______属性决定了按Tab键时焦点在各个控件之间移动的顺序。 a) Index b) TabStop c) TabIndex d) SetFocus 122) 当窗体大小改变时,要使其中的控件也按比例发生变化,应使用窗体的______。 a) AutoSize属性 b) Resize事件 c) AutoRedraw属性 d) Stretch方法 124) 若要设置文本框中所显示的文本颜色,使用的属性是______。 a) BackColor b) FillColor c) ForeColor d) BackStyle 125) 使图形能自动按控件大小而改变的控件是______。 a) 标签框 b) 框架 c) 图片框 d) 图像框 139) 设定当鼠标移动到文本框控件上时给用户提示文本的属性是_____。 a) HideSelection b) ToolTipText c) Aligmment d) WordWrap 143) 以下______控件不能触发Dbclick()事件。 a) Label b) Commandbutton c) PictureBox d) Image 144) 要输出简单信息,可以使用_____。 a) InputBox函数 b) Msg Box函数 c) ShowFont方法 d) Show Printer方法 179) 在Visual Basic中,要设置菜单项的快捷访问键,应使用哪个符号:______。 a) & b) * c) $ d) @ 181) 在Visual Basic设计界面中不能隐藏的窗口是______。 a) 工程窗口 b) 属性窗口 c) 立即窗口 d) 窗体窗口 191) 用于将菜单项级别提升一级的按钮为________。 a) ← b) → c) ↑ d) ↓ 197) 当一个工程含有多个窗体时,其中的启动窗体是_____。 a) 启动VB时建立的窗体 b) 第一个添加的窗体 c) 最后一个添加的窗体 d) 在“工程属性”对话框中指定的窗体 225) 在拖动滚动条的滚动块的时候,在没有松开鼠标前会触发滚动条的______事件。 a) Change b) keyDown c) Scroll d) DragOver 242) 若要取消窗体的最大化功能,则可设置______属性为False来实现。 a) ControlBox b) MinButton c) MaxButton d) Enabeld 246) 若要使标签的大小自动适应所显示的文本,可通过设置______属性的值来实现。 a) AutoSize b) Alignment c) Enabled d) Visble 265) 命令按钮Command1 的Caption属性为“退出(x)”,要将命令按钮的快捷键 设为Alt+x,应修改Caption属性为_________。 a) 在x前插入& b) 在x后插入& c) 在x前插入 # d) 在x后插入# 268) 某顶级菜单项的热键字母为F,以下_____操作等同于单击该菜单项。 a) 同时按下Ctrl+F键 b) 按下F键 c) 同时按下Alt+F键 d) 同时按下Shift+F键 269) 在使用菜单编辑器设计菜单时,必须输入的项是____。 a) 标题 b) 名称 c) 索引 d) 快捷键 278) Print方法不允许在____对象上输出数据。 a) 窗体 b) 代码窗口 c) 立即窗口 d) 图片框 303) 以下关于复选框的说法,正确的是(?? ) a) 一个窗体上的所有复选框一次只能有一个被选中 b) 一个容器中的所有复选框一次只能有一个被选中 c) 在一个容器中的复选框可以同时有多个被选中 d) 无论是在容器中还是在窗体中,都不可以同时选中多个复选框 308) 要在图片框P1中打印字符串“How Are You”,应使用语句(?? ) a) Picture1.Print=“ How Are You” b) P1.Picture=LoadPicture(“How Are You”) c) P1.Print“How Are You” d) Print “How Are You” 309) 将字符串“hello”添加到列表框的最后,可使用(?? )请语句。 a) List1.AddItem“hello”,List1.ListCount-1? b) List1.AddItem“hello”,List1.ListCount+1 c) List1.AddItem“hello”,List1.ListIndex d) List1.AddItem“hello” 319) 标准工具箱中的控件( ) a) 数目是固定不变的 b) 数目可以增加或减少 c) 包含了Visual?Basic所有控件 d) 在窗体建立对象时不一定被使用 335) 文本框控件最多能处理()个字节 a) 32k b) 64K c) 128K d) 16k