微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

防止子窗体切换回上次打开的窗体

如何解决防止子窗体切换回上次打开的窗体

我有一个 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 举报,一经查实,本站将立刻删除。