/// <summary>
        /// 设置选中指定Viewer
        /// </summary>
        /// <param name="aViewer"></param>
        private void SelectViewer(CarEyeViewer aViewer)
        {
            if (mSelectedViewer != null)
            {
                mSelectedViewer.BackColor = Color.Firebrick;
            }

            mSelectedViewer           = aViewer;
            mSelectedViewer.BackColor = Color.LimeGreen;
        }
        /// <summary>
        /// 设置全屏模式
        /// </summary>
        private void SetFullScreen()
        {
            if (mSelectedViewer == null)
            {
                if (mViewers == null || mViewers.Count < 1)
                {
                    return;
                }
                mSelectedViewer = mViewers[0];
            }

            HideAllViewer();
            mSelectedViewer.Location = new Point(0, 0);
            mSelectedViewer.Size     = this.ClientSize;
            mSelectedViewer.Visible  = true;
            mSplitCount = 1;
        }
        /// <summary>
        /// 符合4、9、16矩阵的分屏布局
        /// </summary>
        private void SetMatrixScreen(byte aCount)
        {
            HideAllViewer();

            // 每行每列的视频输出窗口个数
            int  tmpCount  = (int)Math.Sqrt(aCount);
            int  perWidth  = this.ClientSize.Width / tmpCount;
            int  perHeight = this.ClientSize.Height / tmpCount;
            Size perSize   = new Size(perWidth, perHeight);

            for (int i = 0; i < tmpCount; i++)
            {
                for (int j = 0; j < tmpCount; j++)
                {
                    CarEyeViewer tmpViewer = mViewers[i * tmpCount + j];
                    tmpViewer.Location = new Point(j * perWidth, i * perHeight);
                    tmpViewer.Size     = perSize;
                    tmpViewer.Visible  = true;
                    if (j == tmpCount - 1)
                    {
                        // 最后一列对齐控件右边
                        tmpViewer.Width += this.ClientRectangle.Right - tmpViewer.Right;
                    }
                    if (i == tmpCount - 1)
                    {
                        tmpViewer.Height += this.ClientRectangle.Bottom - tmpViewer.Bottom;
                    }
                }
            }

            mSplitCount = aCount;
            if (mSelectedViewer == null)
            {
                return;
            }
        }