您的位置:程序门 -> vb -> 基础类



生成窗体问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


生成窗体问题[已结贴,结贴人:iamdeane]
发表于:2007-03-12 13:23:44 楼主
我使用下面的代码:
  sub       addform()      
                static       i       as       integer      
                dim       frm       as       new       form1      
                frm.show          
                frm.caption       = "子窗体 "       &       i      
    end       sub
生成窗体,但是当多次生成窗体后,如何确定其中任意的其中一个窗体?谢谢大家
发表于:2007-03-12 13:27:301楼 得分:0
你有这一句啊:frm.caption       = "子窗体 "       &       i      
每个窗口的caption不一样,不就可以区别窗口了吗?
发表于:2007-03-12 15:22:172楼 得分:0
的确是啊,我总是考虑有没有这样的属性的问题了,呵呵,不知道还有没有其他的办法呢?up下
发表于:2007-03-12 15:40:403楼 得分:0
.tag
发表于:2007-03-12 15:57:004楼 得分:0
没有问题,但是这样却无法实现控制生成的某个窗体,比如unload,他们的name是一样的,我刚想起来,这个才识最大的问题~~大家看看有没有什么办法么~~谢谢啊
发表于:2007-03-12 16:13:155楼 得分:20
可以给窗体添加属性


private   m_id   as   long

public   property   get   id()   as   long
        id   =   m_id
end   property

public   property   let   id(byval   vdata   as   long)
        m_id   =   vdata
end   property


使用的时候就...
private   sub   command1_click()
        addform
end   sub

  sub   addform()
                static   i           as   integer
                dim   frm           as   new   form1   'form2
                frm.show
                frm.caption   =   "子窗体 "   &   i
                frm.id   =   i
                i   =   i   +   1
    end   sub

发表于:2007-03-12 16:22:466楼 得分:20
public   i           as   integer   '一定要在模块中
private   sub   command1_click()
addform
end   sub

private   sub   command2_click()
dim   objf   as   object
for   each   objf   in   forms
        if   objf.caption   =   "子窗体 "   &   1   then   unload   objf
next
end   sub


sub   addform()
             

                dim   frm           as   new   form1
                frm.show
                frm.caption   =   "子窗体 "   &   i
                i   =   i   +   1
    end   sub
发表于:2007-03-12 16:38:027楼 得分:10
dim   frm()   as   form1

sub   addform()
                static   i           as   integer
                redim   preserve   frm(0   to   i)   as   form1
                set   frm(i)   =   new   form1
                frm(i).caption   =   "子窗体 "   &   i
                frm(i).show
                i   =   i   +   1
end   sub

private   sub   command2_click()
unload   frm(1)
end   sub
发表于:2007-03-12 16:45:308楼 得分:0
谢谢楼上几位,使用了zzyong00(阿勇)的方法解决的
也在kmlxk(xiaokkkk)的帖子里面学到很不错的办法
呵呵看来分少了啊,利马结贴


快速检索

最新资讯
热门点击