您的位置:首页 > 其它

登陆窗体的模式与非模式显示

2011-08-05 10:17 239 查看
今天做机房收费系统时,调试了半天窗体也不能显示,只是代码运行一遍就自动关闭了,一点一点的调试运行才找到问题的原因,因为,窗体的模式与非模式显示没有设置好。
Sub main()

Dim frmLoginchild As New frmLogin
frmLoginchild.Show vbModal   '登陆窗体以模式方式登陆,这个窗体不卸载或隐藏,则下面的代码不运行
'判断登陆窗体是“确定”还是“取消”
If Not frmLoginchild.Ok Then

End

End If

Unload frmLoginchild
frmMainForm.Show                  '显示主窗体界面

End Sub
开始,我忘了把登陆窗体设置成模态方法,窗体总是执行一遍就迅速卸载,模式设置对于应用程序有时是非常有用的,对于登陆窗体如果,不设置模态,想使它实现判断是否执行的功能,可以用API函数实现,具体也不太清楚,实现起来应该会比这种方式麻烦些。把登陆窗体模式化后,发现主窗体还是显示不出来,想了一下,可能是设置成模式窗体的原因

Show 方法

用以显示 MDIForm Form 对象。不支持命名参数。语法object.Showstyle, 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
然后,我把登陆窗体成功验证后面,加上了隐藏窗体,于是,程序就可以正常显示出来了,有时一点点代码在程序中却起着,很重要的作用,还需要我们认真思考代码如何运行?运行的原因?我们才能找到问题的答案。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐