protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);

            int index = HitTest(e.Location);

            if (index != -1)
            {
                IDockContent content;
                if (e.Button == MouseButtons.Middle)
                {
                    // Close the specified content.
                    content = Tabs[index].Content;
                    if (DockPane.DockPanel.ShowDockWindowThumbnail && _tipContent == content)
                    {
                        HideContentTooltip(_tipContent, _imageToolTip);
                        _canShowToolTip = true;
                    }

                    content.DockHandler.Activate();
                    DockPane.CloseContent(content);
                }
                else
                {
                    content = Tabs[index].Content;
                    if (DockPane.ActiveContent != content)
                    {
                        if (this.DockPane.DockPanel.ShowDockWindowThumbnail)
                        {
                            DockPane.ActiveContent.DockHandler.CaptureWindowThumbnail();
                        }

                        DockPane.ActiveContent = content;
                    }
                }

                if (e.Button == MouseButtons.Left)
                {
                    var dragSize = SystemInformation.DragSize;
                    _dragBox = new Rectangle(new Point(e.X - (dragSize.Width / 2),
                                                       e.Y - (dragSize.Height / 2)), dragSize);
                }
                if (e.Button == MouseButtons.Right)
                {
                    DockPane.OnPaneStripRightClicked(content, e);
                }
            }
        }