private void OnServcieInitEventHandler(RemoteScreenAdapterHandler adapterHandler, int height, int width, int currentMonitorIndex, MonitorItem[] monitorItems)
        {
            this._currenMonitorIndex = currentMonitorIndex;
            this._monitorItems       = monitorItems;
            this._srcImageWidth      = width;
            this._srcImageHeight     = height;
            _image = new Bitmap(width, height);
            Graphics g = Graphics.FromImage(_image);

            g.Clear(Color.Black);
            g.DrawString("桌面加载中...", new Font("微软雅黑", 15, FontStyle.Regular), new SolidBrush(Color.Red), new Point((height / 2) - 40, width / 2));
            g.Dispose();
            this.StartGetScreen();
        }
        private void OnScreenFragmentEventHandler(RemoteScreenAdapterHandler adapterHandler, Core.ScreenSpy.Entitys.Fragment[] fragments, ScreenReceivedType type)
        {
            switch (type)
            {
            case ScreenReceivedType.Noninterlaced:
                foreach (var fragment in fragments)
                {
                    using (MemoryStream ms = new MemoryStream(fragment.FragmentData))
                    {
                        this.DisplayScreen(Image.FromStream(ms), new Rectangle(fragment.X, fragment.Y, fragment.Width, fragment.Height));
                        _traffic += ms.Length;
                    }
                }
                _recvImgCount++;
                this.GetNextScreen();
                break;

            case ScreenReceivedType.Difference:

                foreach (var fragment in fragments)
                {
                    using (MemoryStream ms = new MemoryStream(fragment.FragmentData))
                    {
                        this.DisplayScreen(Image.FromStream(ms), new Rectangle(fragment.X, fragment.Y, fragment.Width, fragment.Height));
                        _traffic += ms.Length;
                    }
                }
                break;

            case ScreenReceivedType.DifferenceEnd:
                _recvImgCount++;
                this.GetNextScreen();
                break;

            default:
                break;
            }
        }
        private void OnScreenFragmentEventHandler(RemoteScreenAdapterHandler adapterHandler, Fragment[] fragments, ScreenReceivedType type)
        {
            switch (type)
            {
            case ScreenReceivedType.Noninterlaced:
                this.FrameDataHandler(fragments);
                _recvImgCount++;
                this.GetNextScreen();
                break;

            case ScreenReceivedType.Difference:
                this.FrameDataHandler(fragments);
                break;

            case ScreenReceivedType.DifferenceEnd:
                _recvImgCount++;
                this.GetNextScreen();
                break;

            default:
                break;
            }
            this.imgDesktop.Image = this._currentFrame;
        }
 private void OnClipoardReceivedEventHandler(RemoteScreenAdapterHandler adapterHandler, string text)
 {
     Clipboard.SetText(text);
     MessageBoxHelper.ShowBoxExclamation("已获取剪切板内容!");
 }