如何解决防止子窗体切换回上次打开的窗体
我有一个 MDI 表单,它打开一个用户无法关闭的停靠子表单(用户仪表板)。然后,MDI 可以打开 MDI 中的停靠子窗体或非停靠子窗体。
我遇到的问题是,如果用户打开客户信息停靠表单并点击该表单上的保存,保存后它会自动切换到仪表板表单。
加载和加载仪表板
'display Main Dashboard in MDI
Dim fc As FormCollection = Application.OpenForms
Dim FormFound As Boolean = False
For Each frm As Form In fc
If frm.Name = "frmDashboard" Then
frm.Focus()
FormFound = True
End If
Next
If FormFound = False Then
Dim frm As New frmDashboard
With frm
.MdiParent = Me
'.Dock = DockStyle.Fill
.FormBorderStyle = FormBorderStyle.Fixed3D
.WindowState = FormWindowState.Maximized
.Show()
_log.Info("opening the dashboard form")
End With
End If
Private Sub tsbCustvend_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles tsbCustvend.Click
Try
tvNavigation.Enabled = False
Me.Cursor = Cursors.WaitCursor
Dim fc As FormCollection = Application.OpenForms
Dim FormFound As Boolean = False
For Each frm As Form In fc
If frm.Name = "frmCustomer" Then
frm.Focus()
FormFound = True
End If
Next
If FormFound = False Then
Dim CustForm As New frmCustomer
_log.Info("opening form " & CustForm.Name)
With CustForm
.MdiParent = Me
'.Dock = DockStyle.Fill
.FormBorderStyle = FormBorderStyle.Sizable
.WindowState = FormWindowState.Maximized
End With
CustForm.Show()
End If
Catch ex As Exception
_log.Error(ex.ToString & vbCrLf & ex.StackTrace.ToString)
MessageBox.Show(ex.ToString,"",MessageBoxButtons.OK,MessageBoxIcon.Error)
Finally
Me.Invalidate()
tvNavigation.Enabled = True
Me.Cursor = Cursors.Default
End Try
End Sub
在用户保存新客户或现有客户后,后台仪表板表单被置于最前面并聚焦。
感谢任何帮助 谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。