比如:使用InputBox输入一窗体名(该窗体可能还未载入,或不存在)如何做到类似 Load frmName 的样子,但这个frmName应该是一个变量注明:是VB5  ,没有Control.Add功能!!!  

解决方案 »

  1.   

    a=inputbox("Please Input Form Name")
    select case a
        case "Form1"
            Form1.Show
        case "Form2"
            Form2.show
        case ....
    ....
    end select
    上面只能加载已有的窗口类,并自动实例化。
    dim frm as form
    select case a
       case "form1" 
          set frm=new Form1
          frm.show
       case "form2"
          set frm=new Form2
          frm.show
       case ...
    ....
    end select
    上面可以显示一个已经存在的窗口类的多个实例。
      

  2.   

    很长时间没用vb5了,不知道vb5是否支持forms.add语句,如果支持的话,用它就可以了,不支持的话,就要麻烦一些了
      

  3.   

    Private Sub Command1_Click()
            Dim t As Form
            Set t = Forms.Add("form2")
            t.Show
    End Sub
      

  4.   

    To programart_life(理论派):
    Form1.Show 你必须在编写代码时就要知道所有的窗体,否则通不过编译的。
    但InputBox中是用户运行时才输入的,谁能未卜先知?
    该窗体可能并不存在于本工程中,甚至是用户乱打一通(这时当然就出错啦,但仅限运行时!)
    另,再次申明,VB5 No Forms.Add !!!
    就像rainstormmaster(暴风雨 v2.0)所说,就要麻烦一些了够挑战吧:)关键是Load 语句好像不能使用变量?
      

  5.   

    To programart_life(理论派):
    Form1.Show 你必须在编写代码时就要知道所有的窗体,否则通不过编译的。
    但InputBox中是用户运行时才输入的,谁能未卜先知?
    该窗体可能并不存在于本工程中,甚至是用户乱打一通(这时当然就出错啦,但仅限运行时!)
    另,再次申明,VB5 No Forms.Add !!!
    就像rainstormmaster(暴风雨 v2.0)所说,就要麻烦一些了够挑战吧:)关键是Load 语句好像不能使用变量?
      

  6.   

    你测试过吗,我查资料说,vb5是支持 Forms.Add 的
      

  7.   

    加一个ON ERROR RESUME NEXT 不就完事了...
      

  8.   

    要载入的东西难道是根本就不存在的东西?
    客户乱输入的东西能作为窗体类?你要载入的东西肯定是存在这么一个类的,不过是由客户指定载入某个类并实例一个对象而已。如果要载入系统类库中根本不存在的类,别说VB5无法实现,VC也无法实现。总不能无中生有的给客户臆造一个出来吧。而既然是已存在的,我上面的代码怎么会不能实现呢?
      

  9.   

    To programart_life(理论派) :我不认为在写
    a=inputbox("Please Input Form Name")
    这句代码时能预知整个工程中以后会出现的所有窗体!你工程以后再也不会增加和减少窗体了吗?
    整个工程中所有窗体名以后永远不改了吗?
    这段代码以后再也不用到其它工程了吗?好吧,也许你的工程中满足了上述所有要求,恭喜你,代码一次编译无需更改:)但偶希望能做成完成同样功能的代码,尽量不再编写第二次。
    软件的运行流程由用户掌握,输入窗体名,要是存在于本工程,则载入,不存在,报个错得了。
    做成通用函数,一次编写,一直通用,可以适合各个工程,这样不好吗?
      

  10.   

    还是 rainstormmaster(暴风雨 v2.0) 大虾厉害,
    偶算是上了VB5帮助文件的当了,它里面Forms方法里的Add,只说是应用于Collection对象,
    而Forms又不能通过加点来调出方法,就一直以为是没有Add的,偶算是白活了,
    明天买块豆腐去撞死算了,呵呵:)