VB6 Form.Show with OwnerForm

时间:2013-09-16 15:05:10

标签: vb6

我在VB6中面临一个奇怪的情况,就是当我向另一个OwnerForm显示一个表单时,如果我这样做两次/三次,例如,当我关闭所有子表单时,突然所有者表单消失了在背景上(失去焦点,以前的应用程序将在顶部),我将不得不在任务栏上单击它以再次显示该表单!

快速样本会是这样的:

Private Sub Command1_Click()
    Command1.Enabled = False
    Dim frm As New Form1
    frm.Show 0, Form1
End Sub

有没有解决方案?

感谢。

1 个答案:

答案 0 :(得分:0)

您在非模态上显示子表单,即您可以打开任意数量的该类型的子表单。当你关闭它们时,有时产生它们的表单/应用程序将失去焦点并消失在其他应用程序之后 - 正如您所经历的那样。

您可以隐藏正在关闭的表单(使用_QueryUnload事件并取消卸载),隐藏,然后在父表单上设置ZOrder(将其置于前面),然后继续卸载表单正在关闭。

让我知道你是怎么过的。