请教高手,这个函数为什么要等到我按了按钮之后才继续执行呢?

来源:百度知道 编辑:UC知道 时间:2024/05/26 15:12:04
这是代码片段:

Private m_bUserLoggedIn As Boolean

Public Function Display() As Boolean

txtUserName = fnGetRegistryKey(m_sRegKey, _
"User Name", _
bHKeyCurrentUser:=True)

Me.Show vbModal
Display = m_bUserLoggedIn
End Function

Private Sub cmdOK_Click()
m_bUserLoggedIn = True
subSaveRegistryKey m_sRegKey, _
"User Name", _
txtUserName, _
bHKeyCurrentUser:=True
Me.Hide
End Sub

Private Sub cmdCancel_Click()
m_bUserLoggedIn = False
Me.Hide
End Sub

这个代码中的display函数,在执行了Me.Show vbModal之后,就不继续执行了..为什么非要等到我按完了OK按钮之后,给m_bUserLoggedIn赋值后才继续执行呢.才继续执行呢??是不是 vbModal在起作用?vbModal究竟起到了什么的作用呢? 愿闻其详.
那请问一楼所谓的"窗体执行完毕"是什么意思呢? 仅仅是Me.Hide就代表了吗?

vbModal是模式窗体,必须窗体执行完毕后才能返回,效果和INPUTbox、MSGBOX函数一样。例子:
form1.show vbModal
form2.show vbModal
恩,似乎窗体执行完毕的说法不太准确,实际上是窗体不可见,即Visible=false即返回。

Me.Show vbModal
模式窗口,会挂起当前的代码的
如果想继续执行可以用无模式窗口
Me.Show vbModeless

Me.Show vbModal 是模式窗口
目的是挂里文本代理一段