public void execInvoke(opeOrderType opeType, WinMsg msg = null)
 {
     this.Dispatcher.BeginInvoke(new execEvent(execFunc), new object[] { opeType, msg });
 }
        public void execFunc(opeOrderType opeType, WinMsg msg = null)
        {
            switch (opeType)
            {
                case opeOrderType.closeSysPanelShow:
                    #region 弹出系统关闭窗口
                    {
                        SSysExitPanel.show();
                        break;
                    }
                    #endregion
                case opeOrderType.lockSysPanelShow:
                    #region 弹出系统锁定窗口
                    {
                        if (valmoWin.dv.users.curUser.accessLevel > 2)
                        {
                            valmoWin.dv.users.unload();
                        }

                        SLockScreenPanel.show();
                        break;
                    }
                    #endregion
                case opeOrderType.userLoadPanelShow:
                    #region 显示用户登录界面
                    {
                        SUserPanel.show();
                        //ctrlType = 0;
                        break;
                    }
                    #endregion
                case opeOrderType.calcPanelShow:
                    #region 显示计算器界面
                    {
                        SCalcPanel.show();
                        break;
                    }
                    #endregion
                case opeOrderType.lanChange:
                    #region 显示节目语言切换
                    {
                        //SIprCtrl.refreshLan();
                        ////topPanelCtrl1.setCtrlsLanFunc();
                        foreach (nullEvent func in lstLanRefresh)
                        {
                            func();
                        }
                        break;
                    }
                    #endregion
                case opeOrderType.userSleep:
                    #region //用户进入sleep状态
                    {
                        //toolPanel.userLoad.state = nsVicoClient.ctrls.userLoadState.USERBEGINTOQUIT;
                        SUserSetPanel.state = nsVicoClient.ctrls.userLoadState.USERBEGINTOQUIT;
                        break;
                    }
                    #endregion
                case opeOrderType.userUnSleep:
                    #region //用户进入unsleep状态
                    {
                        //toolPanel.userLoad.state = nsVicoClient.ctrls.userLoadState.USERLOAD;
                        SUserSetPanel.state = nsVicoClient.ctrls.userLoadState.USERLOAD;
                        break;
                    }
                    #endregion
                case opeOrderType.winMsg:
                    #region //系统消息
                    {
                        execMsgFunc(msg);
                        break;
                    }
                    #endregion
                case opeOrderType.unitChange:
                    #region 单位切换
                    {
                        unitChangeToFunc(msg.pStr);
                        break;
                    }
                    #endregion
                case opeOrderType.clientLinkOk:
                    #region 客户端成功连接到服务器端
                    {
                        //topPanelCtrl1.helpStateOn = true;
                        //if (SHelpSerPanel != null)
                        //{

                        //    SHelpSerPanel.clientIpAddr = serObj.clientAddr;
                        //    SHelpSerPanel.clientLinkState = true;

                        //}
                    }
                    break;
                    #endregion
                case opeOrderType.clientLinkBreak:
                    #region 客户端断开连接
                    {
                        //topPanelCtrl1.helpStateOn = false;
                        //if(SHelpSerPanel != null)
                        //    SHelpSerPanel.clientLinkState = false;
                        //MessageBox.Show("client Quit!");
                    }
                    break;
                    #endregion
                case opeOrderType.ipLinkOk:
                    #region 外网连接成功
                    //topPanelCtrl1.ipLinkState = true;
                    break;
                    #endregion
                case opeOrderType.ipLinkBreak:
                    #region 外网连接断开
                    //topPanelCtrl1.ipLinkState = false;
                    break;
                    #endregion
                case opeOrderType.layoutType:
                    break;

            }
        }