打开自己写的程序的窗体时,出现提示"运行错误"401",模式窗体显示时不能显示非模式窗体".请告诉我是怎么回事?

解决方案 »

  1.   

    form1.show 1改成form1.show 就可以了
      

  2.   

    wingchi(一颗红心,两手准备,标准菜鸟来了) :我不明白你的意思,能讲清楚一些吗?
      

  3.   

    当前一个窗体为from1.show 1 的时候,如果在一个新的窗体form2.show 的时候 就会出现这样的错误 把show后面的1去掉就可以了
      

  4.   

    噢 应该把form2.show改为from2.show 1
      

  5.   

    在你的上一个FORM显示时,用SHOW 0,系统默认的参数是0,表示显示非模窗体。显示模式窗体时不能再同时显示别的窗体。
      

  6.   

    这个问题我来解释打个比方吧,模式的,你就当成是独一无二的意思,如果你用Form1.show 1的话,你后面用Form2.show 1是肯定出错的,必须等到Form1关闭以后,才可以打开Form2,当然你可以用Form2.show 就可以了,XXX.show 1是个优先级的问题,用了这个以后,窗体必须响应(关闭事件)。明白了吗?
    如果问题解决,请尽快结贴!
      

  7.   

    To mudai(为你笑) :
        很抱歉,你说的完全出错了!show 1相当于 两个人过独木桥,一个人用了Form1.show 1,它就先过去,你必须等Form1走过去(执行unload form1),另一个人Form2才能过去,否则不用show 0,相当于两个人都有权限过独木桥,谁也限制不了谁,这个比方打的不知道怎么样!能接受吗?
      

  8.   

    如果看了上面的还不明白,请看:
    Show 方法用以显示 MDIForm 或 Form 对象。不支持命名参数。语法object.Show style, ownerformShow 方法的语法包含下列部分:部分 描述
    object 可选的。一个对象表达式 ,该对象一定能在“应用于”列表中找到。如果省略 object,则与活动窗体模块关联的窗体缺省为 object。
    Style 可选的。一个整数,它用以决定窗体是有模式还是无模式 。如果 style 为 0,则窗体是无模式的;如果 style 为 1,则窗体是模式的。
    ownerform 可选的。字符串表达式 ,指出部件所属的窗体被显示。对于标准的Visual Basic 窗体,使用关键字 Me。
    说明如果调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。
    当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form) 时,则随后的代码直到该窗体被隐藏或卸载时才能执行。
    当 Show 在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。对其它窗体进行输入前程序必须隐藏或卸载模式窗体(通常是处于响应用户某些操作状态)。MDIForm 不能是形式的。在模式窗体显示时,虽然应用程序中的其它窗体失效,但其它应用程序不会失效。
    应用程序的启动窗体在其 Load 事件调用后会自动出现。
    下面的例子说明如何使用ownerform 参数:Private Sub cmdShowResults_Click()
    ' 显示模式窗体 frmResults.
    frmResults.Show vbModal, Me
    End Sub
    如果问题解决,请尽快结贴!:)