如何动态生成控件

good2speed 2002-12-28 11:15:54
窗口中的Textbox的个数是根据数据库的记录动态的.

如何做.谢
...全文
5 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
watt 2002-12-28
use load
回复
1.新建一个工程,窗体Form1为缺省窗体,Form1的属性项Caption=″动态增减控件的例子″。
  2.加入两个命令按钮(CommandButton),其中:
  Command1的属性项Caption=″增加控件″;
  Command2的属性项Caption=″删除控件″。
  3.加入如下代码,运行该工程,单击″增加控件″则出现新增按钮。若单击″新增按钮″时会出现对话框,表明你触发的是动态增加控件的单击事件。
  Option Explicit
  ′通过使用WithEvents关键字声明一个对象变量为新的命令按钮
  Private WithEvents NewButton As CommandButton
  ′增加控件
  Private Sub Command1_Click()
  If NewButton Is Nothing Then
  ′增加新的按钮cmdNew
  Set NewButton =Controls.Add(″VB.CommandButton″,″cmdNew″, Me)
  ′确定新增按钮cmdNew的位置
  NewButton.Move Command1.Left+Command1.Width+240, Command1.Top
  NewButton.Caption =″新增的按钮″
  NewButton.Visible = True
  End If
  End Sub
  ′删除控件(注:只能删除动态增加的控件)
  Private Sub Command2_Click()
  If NewButton Is Nothing Then
  Else
  Controls.Remove NewButton
  Set NewButton = Nothing
  End If
  End Sub
  ′新增控件的单击事件
  Private Sub NewButton_Click()
  MsgBox″您选中的是动态增加的按钮!″
  End Sub
  注意:如果你希望添加一个用户控件或任何ActiveX控件到您的窗体,必须把这个控件添加到“工具箱”,或者把控件的License关键字添加到Licenses集合中。而且,你不能选定“工程属性”对话框的“生成”选项卡上的“删除有关未使用的ActiveX控件”选项,否则controls.Add方法将失败,因为必需的信息已经被丢失。

这是一个很好的例子
回复
hengxin54 2002-12-28
先在窗体中加一个textbox控件,将其index属性设为0
然后根据记录数:
for i=1 to rs.recordcount
load text(i)
with text(i)
.left=xxx
.top=xxx
.visible=true
end with
next
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7451

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告