[上位机][VB]如何简单的动态添加某一个窗体的副本
<font color=brown>最近着手编写某一个大型工具软件,需要用VB动态复制某一窗体,顺手baidu了一下,五花八门的答案,经过实验
找到一种比较靠谱的:
A、建立一个module,并在其中添加一个窗体数组,例如
public formArray(0 to 2) as frmExample
public formCount as intager
B、在某一个位置,添加如下代码
set formArray(下标) as new frmExample
load formArray(<下标>)
就可以动态的复制窗体frmExample了
C、通过数组formArray()就可以在任意位置访问这些新添加的窗体。
使用这种方法有一个缺点:允许添加的动态窗体数量是有限的,由于全局变量不允许用redim,所以,通过redim的企图
是无效的……如果你真的想突破这种限制……借助某些dll吧……原理就是利用C语言来修改SafeArray,动态分配空间给
全局数组……dll + VB果然是小原子弹啊…… 还是喜欢c#... vb6可以redim
http://cache.amobbs.com/bbs_upload782111/files_17/ourdev_466913.jpg
(原文件名:redim.jpg) to 【2楼】 yyccaa
你在函数里面redim,请问出了这个函数,如何访问这些窗体…… frmarr(n).xxxx
n在范围内。 你增加一个非动态添加的窗体,并在程序启动后,启动该窗体,在这个窗体中,可以访问这些动态生成的窗体么? 其实用VB做上位机也是不错的选择。。。。 你增加一个非动态添加的窗体,并在程序启动后,启动该窗体,在这个窗体中,可以访问这些动态生成的窗体么?
__________________________
完全没有问题的。建议自己动手试下就知道了,很简单的。
页:
[1]