VB MSHFlexGrid控件

VB MSHFlexGrid控件
VB MSHFlexGrid控件

Microsoft Hierarchical FlexGrid (MSHFlexGrid) 控件对表格数据进行显示和操作。在对包含字符串和图片的表格进行分类、合并以及格式化时,具有完全的灵活性。当绑定到Data控件上时,MSHFlexGrid所显示的是只读数据。

语法

MSHFlexGrid

说明

可以将文本、图片,或者文本和图片,放在MSHFlexGrid的任意单元中。Row和Col属性指定了MSHFlexGrid中的当前单元。程序员可以在代码中指定当前单元,也可以在运行时(代码正在运行的期间。在运行期间,程序员象用户一样与代码进行交互。),使用鼠标或者方向键来对其进行修改。Text属性引用当前单元的内容。

如果单元的文本过长而不能在该单元中显示,而且WordWrap属性被设置为True,那么文本就会换行到同一单元内的下一行。为了显示换行的文本,可能需要增加单元的列宽度(ColWidth属性)或者行高度(RowHeight属性)。

可以用Cols和Rows属性来决定MSHFlexGrid控件中的列数和行数。

显示层次结构记录集

MSHFlexGrid 控件的一个主要特性是它能显示层次结构记录集-以层次结构方式显示的关系表。创建层次结构记录集的最容易的方法是使用数据环境设计器并把MSHFlexGrid控件的DataSource属性赋给数据环境。您也可以用 Shape 命令作为ADO Data Control的RecordSource在代码中创建层次结构记录,如下面的示例:

' 创建 ConnectionString.

Dim strCn As String

strCn = "Provider=MSDataShape.1;Data Source=Nwind;" & _

"Connect Timeout=15;Data Provider=MSDASQL"

' 创建 Shape 命令.

Dim strSh As String

strSh = "SHAPE {SELECT * FROM `Customers`} AS Customers " & _ "APPEND ({SELECT * FROM `Orders`} AS Orders RELATE " & _ "CustomerID TO CustomerID) AS Orders"

' 把 ConnectionString 赋给 ADO Data Control 的

' ConnectionString 属性, Shape 命令以及

' 控件的 RecordSource 属性.

With Adodc1

.ConnectionString = strCn

.RecordSource = strSh

End With

' 把 HflexGrid 控件的 DataSource 属性设置到

' ADO Data 控件。

Set HFlexGrid1.DataSource = Adodc1

详细信息要查找有关分层记录集的更多信息,请参阅 Hierarchical Cursors and Data Shaping Summary. Shape 命令的详细信息可参阅 Shape Commands in General.

发行注意在应用程序中使用MSHFlexGrid控件之前,必须将 MSHFlxGrd.ocx 文件添加到工程中。为了将该文件自动包括到工程中,可以把它放到自动装载文件中。当发行应用程序时,应该将 MSHFlxGrd.ocx 文件安装到用户的 Microsoft Windows 的 System 子目录下。关于将 ActiveX 控件添加到工程中的详细信息,请参阅《Visual Basic程序员指南》中的"标准 ActiveX 控件"。

VB MSHFlexGrid控件:BackColorBand,

BackColorHeader, BackColorIndent,

BackColorUnpopulated Properties

VB MSHFlexGrid控件:MSHFlexGrid 错误常数VB MSHFlexGrid控件:MSFlexGrid 控件VB MSHFlexGrid控件:

VB MSHFlexGrid控件:Collapse 事件VB MSHFlexGrid控件:Compare 事件VB MSHFlexGrid控件:EnterCell 事件VB MSHFlexGrid控件:Expand 事件

VB MSHFlexGrid控件:FixedCols、FixedRows

属性示例

VB MSHFlexGrid控件:FocusRect 属性示例VB MSHFlexGrid控件:LeaveCell 事件VB MSHFlexGrid控件:RowColChange 事件VB MSHFlexGrid控件:Scroll 事件VB MSHFlexGrid控件:SelChange 事件VB MSHFlexGrid控件:常数VB MSHFlexGrid控件:AddItem 方法

VB MSHFlexGrid控件:AddItem, RemoveItem

Methods Example

VB MSHFlexGrid控件:Clear 方法VB MSHFlexGrid控件:Clear 方法示例VB MSHFlexGrid控件:ClearStructure 方法VB MSHFlexGrid控件:CollapseAll 方法VB MSHFlexGrid控件:ExpandAll 方法

VB MSHFlexGrid控件:RemoveItem 方法VB MSHFlexGrid控件:AllowBigSelection 属

VB MSHFlexGrid控件:AllowBigSelection 属

性示例VB MSHFlexGrid控件:AllowUserResizing 属

VB MSHFlexGrid控件:AllowUserResizing 属

性示例VB MSHFlexGrid控件:BackColorBand、BackColorHeader、BackColorIndent、BackColorUnpopulated 属性

VB MSHFlexGrid控件:BackColor、BackColorBkg、BackColorFixed 以及BackColorSel 属性示例

VB MSHFlexGrid控件:BackColor、BackColorBkg、BackColorFixed 以及BackColorSel 属性

VB MSHFlexGrid控件:BackColor、BackColorBkg、BackColorFixed 以及BackColorSel 属性

VB MSHFlexGrid控件:BackColor, BackColorBkg, BackColorFixed, BackColorSel Properties Example

VB MSHFlexGrid控件:BandColIndex 属性VB MSHFlexGrid控件:BandDisplay 属性VB MSHFlexGrid控件:BandExpandable 属性VB MSHFlexGrid控件:BandIndent 属性VB MSHFlexGrid控件:BandLevel 属性VB MSHFlexGrid控件:Bands 属性

VB MSHFlexGrid控件:CellAlignment 属性VB MSHFlexGrid控件:CellAlignment 属性示

VB MSHFlexGrid控件:Cols、Rows 属性

(MSHFlexGrid) 示例

VB MSHFlexGrid控件:ColWidth 属性VB MSHFlexGrid控件:ColWidth 属性示例VB MSHFlexGrid控件:DataField 属性

VB MSHFlexGrid控件:FillStyle 属性VB MSHFlexGrid控件:FillStyle 属性(MSHFlexGrid) 示例

VB MSHFlexGrid控件:ColAlignmentFixed 属

性VB MSHFlexGrid控件:FixedCols、FixedRows

属性

VB MSHFlexGrid控件:FocusRect 属性VB MSHFlexGrid控件:Font、FontBand、FontFixed、FontHeader 属性

VB MSHFlexGrid控件:FontWidth、FontWidthBand、FontWidthFixed、FontWidthHeader 属性

VB MSHFlexGrid控件:ForeColor、ForeColorBand、ForeColorFixed、ForeColorHeader、ForeColorSel 属性

VB MSHFlexGrid控件:ForeColor、

ForeColorFixed、ForeColorSel 属性示例

VB MSHFlexGrid控件:FormatString 属性

VB MSHFlexGrid控件:FormatString 属性示

VB MSHFlexGrid控件:GridColor、GridColorBand、GridColorFixed、GridColorHeader、GridColorIndent、GridColorUnpopulated 属性

VB MSHFlexGrid控件:GridLines、GridLinesBand、GridLinesFixed、GridLinesHeader、GridLinesIndent、GridLinesUnpopulated 属性

VB MSHFlexGrid控件:GridLineWidth、GridLineWidthBand、GridLineWidthFixed、GridLineWidthHeader、

GridLineWidthIndent、

GridLineWidthUnpopulated 属性

VB MSHFlexGrid控件:HighLight 属性VB MSHFlexGrid控件:LeftCol 属性

VB .NET中控件数组的实现

https://www.360docs.net/doc/2a6546679.html,中控件数组的实现 摘要:VB编程时,当要处理一组相同类型的控件的同一事件过程时,我们可以引入控件数组这一概念。如进行计算器程序编写时,可创建十个数字按钮的控件数组,共享同一事件过程。VB6升级到https://www.360docs.net/doc/2a6546679.html,后,VB6控件数组的创建方法在.NET中不可用,本文总结了几种https://www.360docs.net/doc/2a6546679.html,中使用控件数组的方法。 关键词:https://www.360docs.net/doc/2a6546679.html,控件数组事件过程程序代码 一、关于控件数组 熟悉VB6编程的,对控件数组这一概念应该非常熟悉,它是VB6中的一项简单而非常实用的技术,是指具有相同名称的同类型的控件,共享同一事件。它的最大好处是:简化编程。但当我们把这一用法沿用到https://www.360docs.net/doc/2a6546679.html,中来时,却发现无法实现。虽然https://www.360docs.net/doc/2a6546679.html,中没有VB6中实现控件数组的方法,但在https://www.360docs.net/doc/2a6546679.html,中控件数组的运用更加灵活了。 https://www.360docs.net/doc/2a6546679.html,中,控件数组的创建不再是在设计时简单地将同类型的各个控件的Name属性值设置成同一名称就可以了,https://www.360docs.net/doc/2a6546679.html,中,不公能够创建同类型的相同事件处理过程,还能够创建属于不同类型但共享相同事件的控件组。 二、https://www.360docs.net/doc/2a6546679.html,中控件数组的实现 要在https://www.360docs.net/doc/2a6546679.html,中实现控件数组这一机制,我们需要通过编写代码来完成,下面来介绍几种的方法,大家可以根据程序的需要进行选择。 1、使用Handles子句。 先将控件数组中各控件对象依次添加到窗体,然后创建其中一个对象的事件过程(执行部分先不写),再把其它对象的这一事件依次添加在后面,各事件过程名之间用逗号分隔开来。在事件过程的执行部分,如果需要引用这些对象,则要先给这些对象创建一个相同的名称。当要引用对象时,不再使用它们的Name属性值,而是新创建的名称。示例代码如下(部分内容省略): Label1_Click(ByVal sender…)Handles Label1.C lick,Label2.Click,Label3.Click Dim lbl As Label = CType(sender, Label) 当中,创建的是Label1的Click事件,在其后面,添加了Label2及Label3的Click 事件。事件过程中,通过一条Dim语句,定义三个标签具有相同的名称lbl,在下面的代码中,要设置或获取其中某一个标签的某个属性值时,直接使用名称lbl即可。这种方法实现起来最方便简单,以上实例中要求控件数组中控件类型相同,通过此方法,也可实现不同类型同一事件处理程序的共享,如具有同一功能的菜单项和工

vb控件数组的习题及答案

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21 文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建 ex21 文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以 下要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。 List1用于显示可选课程、List2用于显示已选课程。单击“选课”按钮, 将List1中选定的课程名称加入到List2中显示,单击“清空”按钮,将 删除List2中的所有课程。程序运行的参考输出格式如图A-4所示,可选 课程至少包含图A-4所示的6门。最后将工程文件、窗体文件按原文件 名保存在D:\EX21文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4

3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图A-41

【精选资料】VB控件 数组 过程复习题 参考答案2

常用标准控件作业 一、选择题 1.下列关于属性设置的叙述错误的是_______B__。 A.一个控件具有什么属性是Visual Basic预先设计好的,用户不能改变它 B.一个控件具有什么属性值是Visual Basic预先设计好的,用户不能改变它 C.一个控件的属性既可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值 2.以下过程是标签Label1的___A______事件。 Prviate Sub Label1_Click( ) End Sub A.单击 B.双击 C.拖拽 D.移动 3.下列控件中可设置滚动条是____C_____。 A.检查框(复选框) B.框架 C.文本框 D.标签框 4.标签所显示的内容,由___C______属性值决定。 A. Text B. Name C. Caption D. Alignment 5.定时器的定时间隔单位是__C_______。 A. 秒 B. 微秒 C. 毫秒 D. 分 6.检查框(复选框)的控件名称为______B___。 A. OptionBotton B. CheckBox C. PictureBox D. Image 7.若要求向文本框输入密码时,只在文本框中显示&号,则应当在此文本框的属性窗口中设置______D___。 A. Text属性值为& B. Caption属性值为& C. PasswordChar属性值为空 D. PasswordChar属性值为& 8.若要设置定时器的定时间隔,可通过__A_______属性来设置。 A. Interval B. Value C. Enabled D. Text 9.若要设置定时器的定时间隔设为5秒,应将Interval属性值设为_D________。 A. 5 B. 50 C. 500 D. 5000 10.若要使不可见命令按钮显示出来,可通过设置_____A____属性的值为True来实现。 A.Visible B.Enabled C.Default D.Value 11.若要使定时器起作用,应将其__D_______属性设置值设为True。 A.Interval B.Value C.Text D.Enabled 12.若要使命令按钮失效,可设置_____B____属性为False来实现。 A.Value B.Enabled C.Visible D.Cancel 13.若要向列表框新增列表项,可使用_____D____方法来实现。 A.Add B.RemoveItem C.Clear D.AddItem 14.要获得垂直滚动条Vscrollbar控件所能表示的最大值,可通过调用该控件的_____B____属性来实现。 A.Value B.Max C.Min https://www.360docs.net/doc/2a6546679.html,rgeChange 15.要将命令按钮上的文字设置为“粗体”可通过设置__B_______属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 16.要将命令按钮上的文字设置为“斜体”可通过设置____A_____属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 17.要将命令按钮上的字体设为“隶书”,可设置______C___的属性为“隶书”。 A.FontBold B.BackItalic C.FontName D.FontSize 18.以下选项中,不属于单选按钮属性的是____D_____ A.Enabled B.Caption https://www.360docs.net/doc/2a6546679.html, D.Min 19.组合框的风格可通过____C_____属性来设置。 A.BackStyle B.BorderStyle C.Style D.Sorted 20.标签的边框由_____C____属性的设置来决定。 A.BackColor B.BackStyle C.BorderStyle D.AutoSize 21.单选按钮的控件名称为____D_____。 A.Botton B.CheckBox C.PictureBox D.OptionBotton 22.单选按钮的当前状态可通过___A______属性来访问。 A.Value B.Checked C.Selected D.Caption 23.当滚动条中的滑块位置变化时,将触发其___C______事件。 A.LostFocus B.SetFocus C.Change D.GetFocus 24.假定Picture1和Form1分别为图片框和窗体的名称,以下语句___A______可清除图片框中的文本信息。 A.Picture1.cls B.Picture1.clear C.Form1.cls D.Form1.clear 25.确定一个窗体或控件的大小的属性是_____B____。 A.Width或Height B.Width和Height C.Top或Left D.Top和Left

控件数组

在https://www.360docs.net/doc/2a6546679.html,中使用控件数组 控件数组是位于一个窗体上共享同一名称的一组同种类型控件。普通控件仅使用名称就可以识别,而引用控件数组中的成员则需要同时使用名称和索引。开发人员在Visual Basic 6.0 以及更早的版本中使用控件数组主要有以下三个理由: 1. 在循环中访问数组中控件的属性。 2. 向窗体动态添加新控件。 3. 允许一个事件例程与多个控件连接。 控件数组的使用,极大的方便了开发人员。然而,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual https://www.360docs.net/doc/2a6546679.html,(以下简称https://www.360docs.net/doc/2a6546679.html,)的初学者却发现,在https://www.360docs.net/doc/2a6546679.html,中似乎不能使用控件数组了。笔者仔细查阅了https://www.360docs.net/doc/2a6546679.html,的MSDN文档发现,在https://www.360docs.net/doc/2a6546679.html, 中,确实不再支持控件数组。原因是,https://www.360docs.net/doc/2a6546679.html,对事件模型作了很大的改动,引入了另外一种数据类型――控件集合模型,使控件数组没有存在的必要。就像VB6.0 中的控件数组可以共享事件一样,https://www.360docs.net/doc/2a6546679.html, 中的事件模型允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。 所谓控件集合是指包含在一个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。程序运行时,可以通过访问容器的Control属性来得到该容器中的所有控件。 下面将演示如何通过控件集合来使用控件数组: 一、直接使用Form容器的控件集合来使用控件数组: 建立一个https://www.360docs.net/doc/2a6546679.html,项目,在Form1中添加三个TextBox控件,名称分别为:TextBox1、TextBox2、TextBox3,一个Button控件。 双击Button,输入如下代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click …下面的语句是通过数组元素的下标来访问Form中的每一个元素。 Me.Controls.Item(0).Text = "集合中的第一个元素" Me.Controls.Item(1).Text = "集合中的第二个元素" Me.Controls.Item(2).Text = "集合中的第三个元素" Me.Controls.Item(3).Text = "集合中的第四个元素" End Sub 运行项目后,点击Button,看到的结果是:Form1中的所有控件(包括Button自己)的Text属性都被修改了,同时还发现,最后加入的的控件变成了集合中的第一个元素(下标为0)。这个结果说明: Form1中的所有控件已经自动构成了一个控件集合(控件数组),这个特点使得建立控件数组变得非常简单。 在访问这些控件时,除了可以通过控件名称直接访问外,还可以通过Contro.Item(n)属性按下标访问集合中的每一个控件; 集合中控件的类型可以不相同,这点和VB6.0完全不同; 集合中的下标顺序是按照加入控件的顺序倒排的; https://www.360docs.net/doc/2a6546679.html,中控件数组的特点让人稍感不适的是,控件数组的下标是按加入顺序的倒排续产生的,但程序员完全可以改变这个顺序:在代码编辑窗中点击“#Region " Windows 窗体设计器生成的代码”旁边的“+”号,代码展开后,找到如下代码: Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TextBox3) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1)

VBA中的控件数组

VBA中的控件数组 2009年2月28日 评论发表评论 大家都知道,和VB不一样,VBA中不能直接创建控件数组。然而可以使用WithEvents来模拟相同的功能。我们需要一个类来处理控件的事件,而每一个控件需要一个类实例。对于不同控件的类实例,我们可以使用一个对象数组或者集合来实现。 这里使用按钮控件做为例子来介绍怎样在窗体和工作表中创建控件数组。 创建类 创建控件数组之前,我们需要一个类来处理控件的事件。 在VBE窗口中,单击菜单“插入”->“类模块”,在属性窗口中将类的名称改为“cCB”。 在类模块中添加下面这一行: Private WithEvents m_CB As https://www.360docs.net/doc/2a6546679.html,mandButton 这样你就可以从代码栏的顶部左边下拉列表中选择m_CB并选择右边下拉列表中相应的事件。 完整的代码如下: Private WithEvents m_CB As https://www.360docs.net/doc/2a6546679.html,mandButton ' 初始化,将控件绑定到类 Public Sub Init(ctl As https://www.360docs.net/doc/2a6546679.html,mandButton) Set m_CB = ctl End Sub ' 控件的Click事件 Private Sub m_CB_Click() MsgBox "你点击了:" & m_CB.Caption End Sub ' 注销类 Private Sub Class_Terminate() Set m_CB = Nothing End Sub

窗体中的控件数组 然后创建一个窗体,在窗体中添加两个CommandButton,将这两个按钮控件分别命名为cmd1和cmd2,然后在窗体中的初始化事件中添加代码如下: Private ctlCB(1 To 2) As cCB ' 以对象数组保存类的实例 Private Sub UserForm_Initialize() Set ctlCB(1) = New cCB ' 将按钮cmd1赋给类的实例 ctlCB(1).Init cmd1 Set ctlCB(2) = New cCB ctlCB(2).Init cmd2 End Sub 这里使用对象数组ctlCB(1 to 2)来保存类实例。每当使用Set语句创建一个类实例,然后使用类的Init方法将按钮控件赋给这个实例。 也可以使用集合来保存这个类的实例。代码如下: Private colCB As New Collection Private ctlCB As cCB … 以集合保存类的实例 Private Sub UserForm_Initialize() Set ctlCB = New cCB ' 将按钮cmd1赋给类的实例 ctlCB.Init cmd1 ' 将类的实例加入到集合中 colCB.Add ctlCB Set ctlCB = New cCB ctlCB.Init cmd2 colCB.Add ctlCB End Sub

vb 控件属性 数组解决办法

Vb 属性接口数组解决办法 前不久制作Activex 控件,自定义接口成员,本来想通过外界传递数组给控件,但是我没有找到设置接口成员属性为数组的方法(我是个VB初学者,直到目前也没有找到方法)。后来发现vb中字符串长度可以存放多达2亿个字符。想到了将数组转换为字符串然后用字符串转换为数组的方法。 整体思路:在控件外接程序中将数组生成字符串,在控件里面将得到的字符串转换为数组完成数组的传递。举例详细代码如下宿主程序中按钮Command1单击触发以下函数运行:第一个For 循环生成x(0 to 50),y(0 to 50)两个数组。a,b为两个字符串,其第一个字符(数字形式)存放数组元素数目一共从0到50,有51个元素。Str()指令是将数字转换为字符数字,比如将51转换为“51”。第二个For循环将a,b两个字符串不断的添加字符(数字转换为字符形式,采用&连接,中间用逗号隔开)。从而a,b字符串分别是“51,0,1,2,3……,50”和“51,627.5 578.5 531.5 486.5……627.5” 控件的名称为ctr,为其设置了三个属性接口sn(布尔型) snx(字符串)sny(字符串)。其中snx,sny分别用于承接外界传递的字符串,Sn为某个位(与该主题无关,在控件中指示另外某个事件的)Private Sub Command1_Click() Dim cd As Integer Dim x() As Double Dim y() As Double cd = 50 ReDim x(cd) ReDim y(cd) For i = 0 To cd Step 1 x(i) = i y(i) = (i - 25) ^ 2 + 2.5 Next i Dim a As String Dim b As String

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建ex21文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以下 要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。List1 用于显示可选课程、List2用于显示已选课程。单击“选课”按钮,将List1 中选定的课程名称加入到List2中显示,单击“清空”按钮,将删除List2 中的所有课程。程序运行的参考输出格式如图A-4所示,可选课程至少包含 图A-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21 文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4 3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:11李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21 文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建 ex21 文件夹 1、打开D:\下的工程文件和窗体文件,按以下要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。List1用于显示可选课程、List2用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到List2中显示,单击“清空”按钮,将删除List2中的所有课程。程序运行的参考输出格式如图A-4所示,可选课程至少包含图A-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图A-4 2、打开D:\下的工程文件和窗体文件,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

图B-4 3、打开D:\下的工程文件和窗体文件,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图A-41

VB控件数组的操作技巧

VB控件数组的操作技巧 控件数组有在设计时设置好的,也有在运行中创建的。控件数组一方面使得程序简洁、令代码易于维护,另一方面能使程序具有灵活性。可见,科学地利用控件数组可使编程工作的效率更高。本文是从笔者回答网友的问题中整理出来的,与原来的回答相比略有改动。希望这些"技巧"对大家有些帮助。如有不妥之处,敬请指教。 一、运行中设置数组控件的属性 设窗体上有若干个以 Command1 命名的命令按钮,现要求:点击其中一个按钮后,该按钮不可用,而其它的按钮均可用。以下几行代码可以实现这个要求,比一个一个的设置高效得多。 Private Sub Command1_Click(Index As Integer) Dim i As Integer '计数器 Dim comNum As Integer '按钮的索引号 comNum = 0 For i = 0 To Command1.Count - 1 comNum = comNum + 1 If comNum > Command1.Count - 1 Then comNum = 0 Command1(comNum).Enabled = True '让所有按钮可用 Next Command1(Index).Enabled = False '让被单击按钮不可用

End Sub 二、运行中添加和卸载数组控件 窗体上已有一个文本框Text1,程序需要在运行时动态地创建若干文本框,可这样实现: 1.首先,设计时给Text1的Index属性设置为"0",这一步很重要:有了索引号才能创建数组控件; 2.编写代码:[之前请给工程添加两个命令按钮,Name属性取缺省值,Caption属性分别为:添加、卸载] Private Sub Command1_Click() Dim txtNum As Integer 'Text1的Index号 Dim Num As Integer '赋给各TextBox的值 txtNum = 0 '初值 Num = 1 '初值 Text1(0).Text = "Text" & Num '第一个Text1的值 Dim i As Integer '计数器 For i = 0 To 4 '添加五个TextBox txtNum = txtNum + 1 Num = Num + 1 Load Text1(txtNum) '加载文本框 Text1(txtNum).Top = Text1(txtNum - 1).Top + 450 '设置位置 Text1(txtNum).Text = "Text" & Num '加载内容

相关主题
相关文档
最新文档