各位兄弟:
    我以Set op = Controls.Add("VB.OptionButton", "op" & CStr(i), Frame2)的方式建立了button,textbox,image三种控件。现在需要动态删除这些控件,但是删除前必须确认其存在。我该如何确认某个控件的存在并删除它呢?
    还有,我建立了一个combobox,我希望能通过触发combobox的某个事件,比如Combo1_Click来删除上面讲的控件。但是好像Click 和Change都不行。我该怎么办呢?
    急,为了工作,在线等啊!请兄弟们 UP UP

解决方案 »

  1.   

    去http://www.china-askpro.com/msg1/qa98.shtml
    http://netschool.ayinfo.ha.cn/yvbsxdtzjwj.htm看看
      

  2.   

    不行啊。没有讲到如何确认一个控件是否存在的啊 。
    比如说 我建立了txt1和txt3,但是没有建立txt2,那么用FOR 。。next删除的时候会出错的啊!
      

  3.   

    不好做,
    事实上,我的控件Set txt = Controls.Add("VB.Textbox", "txt" & CStr(i) & CStr(j), Frame2)是通过2个变量i,j确定的。而且对于不同的i,有不同的j。保存变量太困难了。
    我要随时可能删除以前的控件,生成新的控件。必须要把以前的控件删除干净,不然要出错。
    兄弟们想想办法吧!
      

  4.   

    怎么定义数组控件啊。
    我需要对控件数组的WIDTH,HEIGHT做调整,应该怎么办呢?还有,我能在Combobox的事件对控件进行删除动作吗?
      

  5.   

    Dim ControlNum As IntegerControlNum = Form1.Controls.Count '在未动态增加控件之前,先检测有多少个已存在的 _
    控件,并记录它个数Form1.Controls.Add "VB.CommandButton", "NewCmd", Form1 '在这里写增加你的控件代码
       
    If Form1.Controls.Count > ControlNum Then
    '判断是否有新的控件增加,如果就........End If
    '把控件增加到Combobox里
    Private Sub Form_Click()
    Dim ExitFlag, Index
        ExitFlag = False
        Index = 0
        On Error Resume Next
        Do
        Combo1.AddItem Form1.Controls(Index).Name
            If Err.Number = 0 Then
                Index = Index + 1
            Else
                ExitFlag = True
            End If
        Loop Until ExitFlagEnd Sub
      

  6.   

    dim o as object
    for each o in Controlsnext
      

  7.   

    老大,关键问题是我能在Combobox_Click()中添加一个textbox,但是就是不能删除它。
    err.description 是:Unable to unload within this context。
    你可以试试
      

  8.   

    如果只是要求删除干净,可以这样(没有调试):
    dim otext as control
    for each otext in me.controls
       if typeof otext is textbox or typeof otext is commandbutton or typeof otext is image then
          unload otext
       end if
    next otext
      

  9.   

    感谢zealot_zk(风中追风) 及众位兄弟的照顾。
    我已经得到启示。但是我还有最后一个问题:
    如何在一个frame上再动态生成一个frame?
    还需要调整新加的frame的大小,位置啊的。