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

问题描述

我有一个 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...