public void OnCreateDesktopView(SessionHandler session)
        {
            var describePack = session.CompletedBuffer.GetMessageEntity <DesktopViewDescribePack>();

            var view = new UDesktopView(session)
            {
                Width   = _desktopViewWidth,
                Height  = _desktopViewHeight,
                Caption = describePack.MachineName + "(" + describePack.RemarkInformation + ")"
            };

            view.OnDoubleClickEvent += DesktopViewDbClick;

            this.desktopViewLayout.Controls.Add(view);

            session.AppTokens[SysConstants.INDEX_WORKTYPE] = ConnectionWorkType.MAINCON;

            var syncContext = session.AppTokens[SysConstants.INDEX_WORKER] as SessionSyncContext;

            syncContext.DesktopView = view;

            byte[] data = MessageHelper.CopyMessageHeadTo(
                MessageHead.S_MAIN_SCREENWALL_GETIMG, new DesktopViewGetFramePack()
            {
                Height   = view.Height,
                Width    = view.Width,
                TimeSpan = _deskrefreshTimeSpan
            });

            session.SendAsync(data);
        }
        private IDesktopView OnCreateDesktopViewHandlerEvent(SessionSyncContext syncContext)
        {
            var view = new UDesktopView(syncContext)
            {
                Height = this._viewCarouselContext.ViewHeight,
                Width  = this._viewCarouselContext.ViewWidth
            };

            view.OnDoubleClickEvent += DesktopViewDbClick;
            this.desktopViewLayout.Controls.Add(view);

            return(view);
        }
 /// <summary>
 /// 从主控端移除桌面墙
 /// </summary>
 /// <param name="view"></param>
 private void DisposeDesktopView(UDesktopView view)
 {
     this.desktopViewLayout.Controls.Remove(view);
     view.OnDoubleClickEvent -= DesktopViewDbClick;
     view.Dispose();
 }