private void CreateBackBuffer(bool fullScreen)
        {
            if (mFrameBuffer != null)
            {
                mFrameBuffer.Dispose();
            }

            // Created swap chain will be owned by the FrameBufferWindow object, and
            // disposal will be handled by that object.
            SwapChain swap = mDisplay.CreateSwapChain(this, mChooseWidth, mChooseHeight,
                                                      mChooseBitDepth, fullScreen);

            Direct3D.Surface backBuffer = swap.GetBackBuffer(0);

            Direct3D.Surface backDepthStencil = Direct3D.Surface.CreateDepthStencil(
                mDisplay.D3D_Device.Device,
                mChooseWidth, mChooseHeight,
                mDisplay.DepthStencilFormat,
                MultisampleType.None, 0, true);

            mFrameBuffer = new FrameBufferWindow(Size, swap, mOwner, backBuffer, backDepthStencil);

            mRenderTarget.Resize += new EventHandler(mRenderTarget_Resize);
        }