/// <include file='CodeDoc\DockContentHandler.xml' path='//CodeDoc/Class[@name="DockContentHandler"]/Method[@name="Activate()"]/*'/> public void Activate() { if (DockPanel == null) { Form.Activate(); } else if (Pane == null) { Show(DockPanel); } else { IsHidden = false; Pane.ActiveContent = Content; if (DockState == DockState.Document && DockPanel.DocumentStyle == DocumentStyles.DockingMdi) { Form.Activate(); } else if (!Form.ContainsFocus) { if (DockHelper.IsDockStateAutoHide(DockState) && DockPanel.ActiveAutoHideContent != Content) { DockPanel.ActiveAutoHideContent = Content; } if (Contains(ActiveWindowHandle)) { User32.SetFocus(ActiveWindowHandle); } if (!Form.ContainsFocus) { if (!Form.SelectNextControl(Form.ActiveControl, true, true, true, true)) { // Since DockContent Form is not selectalbe, use Win32 SetFocus instead User32.SetFocus(Form.Handle); } } } } }
private void SetActiveDocument() { DockContent value = ActiveDocumentPane == null ? null : ActiveDocumentPane.ActiveContent; if (m_activeDocument == value) { return; } m_activeDocument = value; if (m_activeDocument != null) { if (m_activeDocument.HiddenMdiChild != null) { IntPtr hWnd = User32.GetFocus(); m_activeDocument.HiddenMdiChild.Activate(); User32.SetFocus(hWnd); } } OnActiveDocumentChanged(EventArgs.Empty); }