Exemplo n.º 1
0
 void FormDownloadInfoList_FormClosed(object sender, FormClosedEventArgs e)
 {
     m_FormDownloadInfoList = null;
 }
Exemplo n.º 2
0
        public void OnUINavigatorEvent(UIFuncItemInfo funcItemInfo)
        {
            if (funcItemInfo.Function == UIFunctionEnum.Backward)
            {
                if (m_PreviousFuncItemInfo != null)
                {
                    OnUINavigatorEvent(m_PreviousFuncItemInfo);
                }
                return;
            }
            m_tabCtrlContainer.SuspendLayout();
            m_splitContainer.SuspendLayout();

            if (funcItemInfo.Function == UIFunctionEnum.ShowDownloadListForm)
            {
                if (m_FormDownloadInfoList == null)
                {
                    System.Diagnostics.Trace.WriteLine("m_FormDownloadInfoList = new FormDownloadInfoList()");
                    m_FormDownloadInfoList = new FormDownloadInfoList();
                    m_FormDownloadInfoList.StartPosition = FormStartPosition.CenterParent;
                    m_FormDownloadInfoList.FormClosed   += new FormClosedEventHandler(FormDownloadInfoList_FormClosed);
                    m_FormDownloadInfoList.Show(Framework.Container.Instance.MainControl);
                }
                else
                {
                    System.Diagnostics.Trace.WriteLine("m_FormDownloadInfoList.Show()");

                    m_FormDownloadInfoList.Show();
                }
            }

            funcItemInfo = Container.Instance.NaviRecord.GetSubItem(funcItemInfo);
            int oldSplitPosition = m_splitContainer.SplitterPosition;

            // m_tabCtrlContainer.SuspendLayout();

            ucContentBase tabPage = GetContentPage(funcItemInfo);

            if (tabPage != null)
            {
                this.m_captionLabel.Text    = funcItemInfo.Caption;
                this.m_captionLabel.Visible = tabPage.ShowCaption;

                tabPage.BringToFront();

                if (m_CurrentContentPage != null)
                {
                    if (!m_CurrentContentPage.RetainWhenDisppear)
                    {
                        RemovePage(m_CurrentFuncItemInfo, m_CurrentContentPage);

                        if (m_CurrentContentPage.ViewModel != null)
                        {
                            Framework.Container.Instance.VVMDataBindings.RemoveBindings(m_CurrentContentPage.ViewModel);
                        }
                    }
                    else
                    {
                        m_PreviousFuncItemInfo = m_CurrentFuncItemInfo;
                    }
                }

                m_CurrentContentPage = tabPage;

                if (funcItemInfo.Function == UIFunctionEnum.Backward)
                {
                    m_PreviousFuncItemInfo = null;
                    m_CurrentFuncItemInfo  = m_PreviousFuncItemInfo;
                }
                else
                {
                    m_CurrentFuncItemInfo = funcItemInfo;
                }

                int splitPosition;
                Container.Instance.NaviRecord.RegisterSubItem(funcItemInfo, oldSplitPosition, out splitPosition);

                if (splitPosition > -1)
                {
                    m_splitContainer.SplitterPosition = splitPosition;
                    object o = AppDomain.CurrentDomain.GetData("OCXContainer");
                    if (o == null)
                    {
                        m_splitContainer.PanelVisibility = (splitPosition == 0) ? SplitPanelVisibility.Panel2 : SplitPanelVisibility.Both;
                    }
                }
            }
            m_tabCtrlContainer.ResumeLayout();
            m_splitContainer.ResumeLayout();
        }