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