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 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;
            }
        }