vb动态创建和删除控件

vb动态创建和删除控件

ID:14294095

大小:39.50 KB

页数:5页

时间:2018-07-27

vb动态创建和删除控件_第1页
vb动态创建和删除控件_第2页
vb动态创建和删除控件_第3页
vb动态创建和删除控件_第4页
vb动态创建和删除控件_第5页
资源描述:

《vb动态创建和删除控件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、摘要:介绍在VisualBasic环境中利用动态创建和删除控件的方法,比较了两者异同,阐述了在实际应用中,ActiveX控件在程序运行时动态加载和删除的方法。关键词:VisualBasic6.0;控件;控件集合;控件数组;属性;ActiveX1.概述在使用VisualBasic进行程序设计的过程中,如果能在运行时刻动态地创建和删除控件,可以极大地丰富界面的处理和变化。本人在设计网络监控系统时,需要在原理图与实物示意图间切换。切换的过程采用本文介绍控件的动态创建和删除来实现,有效地节省了系统资源,同时也有利于简化界面的维护。下面将就VisualBasic6.0中的控件在运行时刻的创建和删除的两

2、种方法——控件数组和控件集合作详细的阐述。2.基于控件数组的动态控件的创建与删除VB中的控件数组实际上也是一种数组,其中的每个控件具有相同的Name属性,但具有不同的Index属性,在这里Name属性类似于数组的名字,而Index属性类似于数组的下标。同时,控件数组也支持普通VBA数组的LBound、UBound和Count方法,控件数组中的控件可以共享一个事件过程,便于代码的编写和集中处理,这正是使用控件数组的最大的理由。但是控件数组与普通的数组并非完全一样,它不需要定义大小,只有这样我们才可以动态的扩展它。下面给出利用Load命令动态添加控件和Unload命令动态删除控件的一般方法:(1

3、)         首先在窗体上放置一个TextBox,其Name属性设置为Text1,Index属性设置为0,这样我们就创建了一个TextBox控件数组,其中有一个成员。(2)         在窗体上放置一个命令按钮Command1,在其Click事件中添加如下的代码:LoadText1(1)Text1(1).left=0Text1(1).visible=true(3)         在窗体上放置一个命令按钮Command2,在其Click事件中添加如下的代码:UnloadText1(1)(4)         运行。单击命令按钮Command1,窗体上会出现一个新的文本框;单击命令按

4、钮Command2,窗体上刚出现的新的文本框就被删除。需要注意的是:Load命令创建的控件Text1(1)与设计时已经放在窗体上的控件Text1(0)有完全相同的属性,也包括大小和位置等属性,例外的就是Index属性不一样,Visible属性默认为False,所以必须在Load方法执行之后,执行调整控件位置的语句,并把其Visible属性设置为True,以便在窗体上可见。Unload命令只能删除动态加载的控件,若删除设计时创建的控件会产生错误。另外,利用上面提到的数组的一些方法,可以有效的简化代码的编写。以下的代码可以删除所有动态创建的Text1控件数组中的控件:DoWhileText1.C

5、ount>1    UnloadText1(Text1.Ubound)Loop需要说明的是,菜单数组是控件数组的一种特殊的形式,只是它是在菜单编辑器中设置相应的Name和Index属性,而且要求一个菜单控件数组中的菜单项必须是同一级菜单,但是不能创建新的顶级菜单。而动态创建和删除菜单项的方法也使用Load和Unload方法,只是默认情况下其Visible属性是True,而且不用重新设置相应的位置。3.基于控件集合的动态控件的创建与删除VB中提供一个Controls集合,用以包含当前窗体中的所有的控件,这对于实现一些功能相对复杂的操作相当有好处。而且Controls集合也是集合的一种,它支持一

6、般集合的Count等方法和相应的检索机制。以下两例就是利用这个控件集合的巧妙实现。要清空当前窗体上的所有的文本框,可以如下实现:DimCtlasControlForEachCtlinControls    IfTypeofCtlisTextboxthen        Ctl.Text=””    EndifNextCtl也可以利用集合的Count方法如下实现:Fori=0To  Controls.Count-1    IfTypeofCtlisTextBox        Controls(i).Text=””    EndifNexti当然,控件集合毕竟是一种特殊的集合,下面给出利用Ad

7、d方法动态添加控件,Remove方法动态删除控件的一般方法:(1)         Controls集合的Add方法其语法格式为:Setmycontrol=controld.Add(ProgId,Name,[Container])在这里,mycontrol是一个自定义的控件对象,若需要新创建的控件对事件做出反应,还要再定义该对象时增加WithEvents关键字。ProgId是库名.控件名形式的控件类的名字,T

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。