Beispiel #1
0
        /// <summary>
        /// 用户登陆/登出事件处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void FormMain_OnUserLoginOrOutEventHandler(object sender, UserLoginOrOutEventArgs e)
        {
            if (e.IsLogin)
            {
                //用户登陆处理
                labelXUserName.Text = e.User.Name;
                this.CurrentUser    = e.User;
                updateSuperTabControlPanel(OpenUCType.OpenGISVideo);
            }
            else
            {
                //用户登出处理
                labelXUserName.Text = "";
                this.CurrentUser    = null;
                updateSuperTabControlPanel(OpenUCType.OpenLogin);

                ucGISVideo          = null;
                ucAudioVideoProcess = null;
                ucMeshManagement2   = null;
                ucUserSettings      = null;
            }
        }
Beispiel #2
0
        /// <summary>
        /// 更新标签面板中的内容
        /// </summary>
        /// <param name="type"></param>
        private void updateSuperTabControlPanel(OpenUCType type)
        {
            switch (type)
            {
            case OpenUCType.OpenLogin:
                if (ucGISVideo != null && superTabControlPanelGISVideo.Contains(ucGISVideo))
                {
                    ucGISVideo.Visible = false;
                }
                tableLayoutPanelLogin.Visible        = true; //显示
                superTabControlMain.SelectedTabIndex = 0;
                break;

            case OpenUCType.OpenGISVideo:
                if (CurrentUser == null)
                {
                    updateSuperTabControlPanel(OpenUCType.OpenLogin);
                }
                else
                {
                    if (ucGISVideo == null)
                    {
                        ucGISVideo      = new UCGISVideo(this);
                        ucGISVideo.Dock = DockStyle.Fill;
                        superTabControlPanelGISVideo.Controls.Add(ucGISVideo);
                    }
                    tableLayoutPanelLogin.Visible = false; //隐藏登陆界面
                    ucGISVideo.Visible            = true;  //显示GIS定位视频界面
                    //置顶主窗体
                    SetFormMainTop();
                }
                break;

            case OpenUCType.OpenAudioVideoProcess:
                if (CurrentUser == null)
                {
                    updateSuperTabControlPanel(OpenUCType.OpenLogin);
                }
                else
                {
                    if (ucAudioVideoProcess == null)
                    {
                        ucAudioVideoProcess      = new UCAudioVideoProcess(this);
                        ucAudioVideoProcess.Dock = DockStyle.Fill;
                        superTabControlPanelAudioVideoProcess.Controls.Clear();      //清空所有控件
                        superTabControlPanelAudioVideoProcess.Controls.Add(ucAudioVideoProcess);
                    }
                    //置顶已全屏的视频面板
                    SetVideoPanelTop();
                }
                break;

            case OpenUCType.OpenMeshManagement:
                if (CurrentUser == null)
                {
                    updateSuperTabControlPanel(OpenUCType.OpenLogin);
                }
                else
                {
                    if (ucMeshManagement2 == null)
                    {
                        ucMeshManagement2      = new UCMeshManagement2(this);
                        ucMeshManagement2.Dock = DockStyle.Fill;
                        ucMeshManagement2.OnMeshDeviceInfoModeified += UcMeshManagement2_OnMeshDeviceInfoModeified;
                        superTabControlPanelMeshManagement.Controls.Clear();      //清空所有控件
                        superTabControlPanelMeshManagement.Controls.Add(ucMeshManagement2);
                    }
                    //置顶主窗体
                    SetFormMainTop();
                }
                break;

            case OpenUCType.OpenUserSettings:
                if (CurrentUser == null)
                {
                    updateSuperTabControlPanel(OpenUCType.OpenLogin);
                }
                else
                {
                    if (ucUserSettings == null)
                    {
                        ucUserSettings             = new UCUserSettings(this);
                        ucUserSettings.Dock        = DockStyle.Fill;
                        ucUserSettings.CurrentUser = CurrentUser;
                        superTabControlPanelUserSettings.Controls.Clear();      //清空所有控件
                        superTabControlPanelUserSettings.Controls.Add(ucUserSettings);
                    }
                    //置顶主窗体
                    SetFormMainTop();
                }
                break;
            }
        }