【发布时间】:2016-01-09 10:18:34
【问题描述】:
我有一个名为 MainForm 的应用程序 (VB.NET) 和其他子窗体,但没有使用 MDI 容器。子表单基于分配给 MainForm 与 Me.Owner = MainForm
当我按 Alt + Tab 在这些表单之间切换时,Windows 仅显示 MainForm,除非我删除 Me.Owner = Nothing 它再次按预期工作。
我在 Onload 功能上尝试了Call SetWindowLong,但运气不佳。我仍在寻找解决方案。
编辑
其实很容易复制,我创建的项目很简单。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Form2 As New Form2
Form2.Owner = Me ' Alt+Tab only Show Form1, not showing Form2.
Form2.Show()
End Sub
禁用 Owner 属性再次正常工作。
请查看我的teamview recording。其实它是原始形式,没有任何改变。
@Royce 您的解决方案仍然无法正常工作,它从我这边抛出 Win32Exception。
【问题讨论】:
-
只是为了澄清,我相信 op 的意思是,如果所有者设置在无模式对话。我可以确认确实如此,并在这里提出了类似的问题:stackoverflow.com/questions/54854317/…