VB动态添加控件的简单方法

合集下载

VB教程:常用控件及应用

VB教程:常用控件及应用

⼀、基本操作1、向窗体中添加控件⾸先将⿏标指针停在⼯具箱的控件上⼏秒钟,待显⽰出控件名,再作如下操作(当然,如果⽤户已经⾮常熟悉控件的含义,这⼀步可以省略)。

⽅法⼀:把光标移到⼯具箱上,单击控件图标,然后把光标移到窗体上(此时,窗体上的光标是⼀个⼗字形图标),在窗体上选择控件放置的初始化位置,然后按下⿏标左键,拖曳⿏标,直到所需的⼤⼩,松开⿏标按键即可。

⽅法⼆:另外⼀个⽅法是⽤⿏标双击控件图标,窗体中央出现默认⼤⼩的控件,拖动该控件到合适的位置即可。

⽅法三:单击控件,然后在窗体上设计好控件的⼤⼩,再⽤复制和粘贴命令拷贝控件,这时,屏幕上会出现⼀个对话框,询问是否要建⽴控件数组,单击“否”按钮,就把活动控件复制到窗体的左上⾓,可以获得同样尺⼨的控件。

但这种⽅法在使⽤时会发现,两个控件的名称是⼀样的,这不利于下⼀步⼯作;如果单击“是”,将建⽴⼀组索引号不同的控件组。

⽤这种⽅法创建的控件可以获得同样尺⼨。

说明:⽤双击控件的⽅法获得的控件⼤⼩是⼀致的,⽽且vB⾃动给第⼀个同名控件起名为“控件1”,第⼆个同名控件为“控件2”,依次类推。

⽤单击控件的⽅法,然后再在窗体上画控件,会导致控件⼤⼩不⼀,但vB还是⾃动给第⼀个同名控件起名为“控件l”,,第⼆个同名控件为“控件2”,依次类推。

为了能单击⼀次控件图标即可在窗体上画出多个相同类型的控件,可按如下步骤操作:按下Ctrl键,不要松开。

单击⼯具箱中想要画的控件图标,然后松开Ctrl键。

⽤前⾯介绍的⽅法在窗体上画出控件(可以画⼀个或多个)。

画完(⼀个或多个)后,单击⼯具箱中的指针图标(或其它图标)。

2、改变窗体上控件的⼤⼩选中控件,放置在窗体上的控件周围有⼋个⼩⽅块,这⼋个⼩⽅块⽤于改变窗体上控件的⼤⼩,故也称作尺⼨控制⼿柄。

把⿏标指针移到任何⼀个⼩⽅块上,待⿏标指针变成—个双向箭头时,移动⿏标就能改变窗体上控件的⼤⼩了。

3、移动窗体上的控件把⿏标指针移到控件上,拖曳⿏标,就能移动窗体上的控件。

vb动态添加删除控件汇总

vb动态添加删除控件汇总

VB 动态添加删除控件汇总1. 概述在使用Visual Basic 进行程序设计的过程中,如果能在运行时刻动态地创建和删除控件,可以极大地丰富界面的处理和变化。

本人在设计网络监控系统时,需要在原理图与实物示意图间切换。

切换的过程采用本文介绍控件的动态创建和删除来实现,有效地节省了系统资源,同时也有利于简化界面的维护。

下面将就Visual Basic 6.0 中的控件在运行时刻的创建和删除的两种方法——控件数组和控件集合作详细的阐述。

2. 基于控件数组的动态控件的创建与删除vb 中的控件数组实际上也是一种数组,其中的每个控件具有相同的Name 属性,但具有不同的Index 属性,在这里Name 属性类似于数组的名字,而Index 属性类似于数组的下标同时,控件数组也支持普通VBA 数组的LBound 、UBound 和Count 方法,控件数组中的控件可以共享一个事件过程,便于代码的编写和集中处理,这正是使用控件数组的最大的理由。

但是控件数组与普通的数组并非完全一样,它不需要定义大小,只有这样我们才可以动态的扩展[kuo zhan]它。

下面给出利用Load 命令动态添加控件和Unload 命令动态删除控件的一般方法:(1)首先在窗体上放置一个TextBox ,其Name 属性设置为Text1 ,Index 属性设置为0 ,这样我们就创建了一个TextBox 控件数组,其中有一个成员。

(2)在窗体上放置一个命令按钮Command1 ,在其Click 事件中添加如下的代码:LoadText1(1)Text1(1).left=0Text1(1).visible=true(3)在窗体上放置一个命令按钮Command2 ,在其Click 事件中添加如下的代码:Unload Text1(1)(4)运行。

单击命令按钮Command1 ,窗体上会出现一个新的文本框;单击命令按钮Command2 ,窗体上刚出现的新的文本框就被删除。

VB--DataGrid 控件的使用

VB--DataGrid 控件的使用

使用DataGrid 控件DataGrid 控件是一种类似于电子数据表的绑定控件,可以显示一系列行和列来表示Recordset 对象的记录和字段。

可以使用DataGrid 来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。

DataGrid 控件可以在设计时快速进行配置,只需少量代码或无需代码。

当在设计时设置了DataGrid 控件的DataSource 属性后,就会用数据源的记录集来自动填充该控件,以及自动设置该控件的列标头。

然后您就可以编辑该网格的列;删除、重新安排、添加列标头、或者调整任意一列的宽度。

在运行时,可以在程序中切换DataSource 来察看不同的表,或者可以修改当前数据库的查询,以返回一个不同的记录集合。

注意DataGrid 控件与Visual Basic 5.0中的DBGrid 是代码兼容的,除了一个例外:DataGrid 控件不支持DBGrid 的“解除绑定模式”概念。

DBGrid 控件包括在Visual Basic 的Tools 目录中。

可能的用法查看和编辑在远程或本地数据库中的数据。

与另一个数据绑定的控件(诸如DataList 控件)联合使用,使用DataGrid控件来显示一个表的记录,这个表通过一个公共字段链接到由第二个数据绑定控件所显示的表。

使用DataGrid 控件的设计时特性可以不编写任何代码,只通过使用DataGrid 控件的设计时特性来创建一个数据库应用程序。

下面的说明概要地说明了在实现DataGrid 控件的典型应用时的一般步骤。

完整的循序渐进的指示,请参阅主题“DataGrid 方案1: 使用DataGrid 控件创建一个简单数据库应用程序”。

要在设计时实现一个DataGrid 控件1. 为要访问的数据库创建一个Microsoft 数据链接(.MDL) 文件。

请参阅“创建Northwind OLE DB 数据链接”主题,以获得一个示例。

2. 在窗体上放置一个ADO Data 控件,并将其ConnectionString 属性设置为在第1 步中所创建的OLE DB 数据源。

VB中动态创建控件

VB中动态创建控件

VB中动态创建控件VB中动态创建控件创建数据驱动窗体所谓数据驱动窗体就是根据所请求的数据的不同生成相应的窗体。

举例来讲,假设你现在有一个数据库,其中有些字段必须根据登录者的身份加以显示,授权级别高的用户可以浏览并修改这些字段的内容;授权级别一般的用户只能浏览这些字段中的数据;授权级别低的用户则不能浏览这些字段中的内容。

要做到这一点就得利用VB动态添加控件的功能。

动态创建控件无论你想要创建何种类型的数据驱动窗体,你必须知道如何在运行时动态地创建控件。

你可以通过控件数组做到这一点,但VB6的Controls集合所提供的Add方法,功能更强大,灵活性更高。

使用该方法,你不需要在设计时将控件的实例放在窗体上。

实际上,用Add 方法你甚至可以创建程序在编译时根本不存在的控件。

这种方法的用法也很简单:‘ 声明一个窗体级的变量Dim WithEvents txtTotal As TextBoxSub CreateTextbox()‘ 创建新的Textbox控件Set txtTotal = Controls.Add("VB.TextBox", "txtTotal")‘ 将控件移动到你所需要的地方txtTotal.Move 1000, 800, 1200, 300‘ 创建时,所有的控件都是不可见的txtTotal.Visible = TrueEnd Sub请注意Add方法的第二个参数:分配给控件的名称。

从代码可读性出发,这个名称一般都与变量名相同。

你可以用这个名称从Controls集合中获取相应的控件或移除该控件。

例如:Controls.Remove "txtTotal"在变量声明时加上WithEvents关键字,即使在设计时窗体不存在该控件,你也可以为该控件的事件编写代码。

上面所讲的方法只适合解决VB内置的控件。

例如,当你要添加一个TreeView控件时,VB会要求你证明你已经得到了合法的授权来创建该控件的实例。

在 VB 中动态添加和删除控件

在 VB 中动态添加和删除控件

Wi t h e x t C t l ‘ 为控T u e’ r He i g h t=2 0 0 0


、 矾d t h=2 0 0 0
. .
Ca p t i o n-I ’ 动态按钮 ”
Wi d nl =2 0 0 0 To p= 1 0 0 0 L e f t =1 0 0 0
置其属性 ,也就是说控件在设计 时已经存在 , 在程序运行过程 中只 能改变其属性 。那么 能不 能在程序运行过程 中添加 或删 除未 引用 的控件 呢? 回答是肯定 的,在程序 运行 过程 中即可以 添加所需要 的控件 , 当用完时就可删除该控件 ,
En dW i t h

E n d Su b
F o r m1 . C o n t r o l s . R e mo v e ” b t n O b j 该控件 的名 称为 b t n Ob j
E n d S u b
下:
总 之 ,通 过 Ad d方 法 和 R e mo v e方 法 可
以动 态 的添加 和删 除控件 ,使在 编程 时对 控
用是在创建程序界面时添加 ,然后根据需要设

Wi t h F o r ml ! c m d O b j 1 ‘ 为控 件设 置属
Vi s i b l e= T r u e
Ad d ( ” ms d a ag t r i d l i b . d ta a g r i d ” , _” d a ag t r i d 1 ” )
_
个控件并返 回一个对该控件 的引用 。语法如
o b j e c t . Ad d( P r o g l D, n a me , c o n t a i n e r ) 0b j e c t必 需的。一 个对象表达 式 P r o g I D 必 需 的。 一 个标 识 控 件 的 字 符

VB表格控件使用教程

VB表格控件使用教程
1、添加控件
右键
1、添加控件
左键拖放绘制表格区域
表格右键弹出菜单功能
2、控件使用
(1)数据输入:粘贴,键盘输入,文件导入均可
记事本内容复制
Excel内容复制 文件数据导入
2、控件使用
(2)公式计算:可进行数值计算和字符处理,数据修改后同步更新计算
2、控使用
(3)编程处理单元格:
3、接口函数
提供下列接口函数以便自行定制右键弹出菜单功能或主菜单功能及程序中 调用,同时提供单元格操作函数。
4、定制菜单示例
(1)右键弹出菜单:
接口函数调用示例
4、定制菜单示例
(2)主菜单:
接口函数调用示例

vb动态添加删除控件汇总

vb动态添加删除控件汇总

VB 动态添加删除控件汇总1. 概述在使用Visual Basic 进行程序设计的过程中,如果能在运行时刻动态地创建和删除控件,可以极大地丰富界面的处理和变化。

本人在设计网络监控系统时,需要在原理图与实物示意图间切换。

切换的过程采用本文介绍控件的动态创建和删除来实现,有效地节省了系统资源,同时也有利于简化界面的维护。

下面将就Visual Basic 6.0 中的控件在运行时刻的创建和删除的两种方法——控件数组和控件集合作详细的阐述。

2. 基于控件数组的动态控件的创建与删除vb 中的控件数组实际上也是一种数组,其中的每个控件具有相同的Name 属性,但具有不同的Index 属性,在这里Name 属性类似于数组的名字,而Index 属性类似于数组的下标同时,控件数组也支持普通VBA 数组的LBound 、UBound 和Count 方法,控件数组中的控件可以共享一个事件过程,便于代码的编写和集中处理,这正是使用控件数组的最大的理由。

但是控件数组与普通的数组并非完全一样,它不需要定义大小,只有这样我们才可以动态的扩展[kuo zhan]它。

下面给出利用Load 命令动态添加控件和Unload 命令动态删除控件的一般方法:(1)首先在窗体上放置一个TextBox ,其Name 属性设置为Text1 ,Index 属性设置为0 ,这样我们就创建了一个TextBox 控件数组,其中有一个成员。

(2)在窗体上放置一个命令按钮Command1 ,在其Click 事件中添加如下的代码:LoadText1(1)Text1(1).left=0Text1(1).visible=true(3)在窗体上放置一个命令按钮Command2 ,在其Click 事件中添加如下的代码:Unload Text1(1)(4)运行。

单击命令按钮Command1 ,窗体上会出现一个新的文本框;单击命令按钮Command2 ,窗体上刚出现的新的文本框就被删除。

vb中如何动态添加删除控件

vb中如何动态添加删除控件

vb中如何动态添加删除控件用Controls.Remove(控件) 动态删除控件。

注意:在VB中只能动态删除那些动态添加的控件;不允许删除在窗体设计器上布置的控件!示例如下:(1)创建一个VB工程(2)在Form1上布置两个Command(3)窗体代码Option Explicit' 声明要被动态添加/删除的控件Dim x As Label'-----------------------------' 动态添加一个Label控件'-----------------------------Private Sub Command1_Click()If x Is Nothing ThenSet x = Controls.Add("bel", "label1")x.Move 150, 150x.AutoSize = Truex.Caption = "这个是动态添加的标签" x.Visible = TrueEnd IfEnd Sub'-----------------' 动态删除控件'-----------------Private Sub Command2_Click()If x Is Nothing Then Exit Sub Controls.Remove xSet x = NothingEnd SubPrivate Sub Form_Load() Command1.Caption = "添加控件" Command2.Caption = "删除控件" End Sub(4)运行窗体启动点击“添加控件”按钮点击“删除控件”按钮。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB动态添加控件并对其进行拖放操作改变位置
用Controls.Add添加控件
Dim WithEvents mypic As PictureBox
Private Sub Command1_Click()
Set mypic = Controls.Add("VB.PictureBox", "mypic")
mypic.Left = 50
mypic.Top = 50
mypic.Visible = True
End Sub
至于拖放操作,在程序中设置好mypic控件的有关属性后,处理mypic的有关事件即可
注意:
如果是控件数组的话,建议采用:load 控件数组名(索引) 的方法添加控件
'可先手工画一个控件,Visable设置为False,Index设置为0
'若需要多个就用load object(index)来加载,并把它们的visable设置为true;不需要多个就真接把原有的那个的visable设成显示就行了。

Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
ReleaseCapture '移动控件
SendMessage Command1(Index).hwnd, &HA1, 2, 0&
End If
End Sub
Private Sub Form_Click()
On Error GoTo endsub
For i = 1 To 5
Load Command1(i) '生成控件
Command1(i).Top = Command1(i - 1).Top
Command1(i).Left = Command1(i - 1).Left + Command1(i - 1).Width Command1(i).Visible = True
Next
Exit Sub
End Sub
‘例如:添加一个commandbutton
Private Sub Form_Load()
With Form1!cmdOk
.Visible = True
.Width = 500
.Caption = "确认(&Y)"
End With
End Sub
‘删除控件。

相关文档
最新文档