/// <summary>
        /// Focus()'s the outer-most TaskPane that contains the given control.
        /// </summary>
        /// <param name="control">The child control to start searching with.</param>
        public static void FocusTaskPane(Control control)
        {
            Form form = control.FindForm();

            if (form != null && !form.ContainsFocus)
            {
                return;                                  // form doesn't have focus, don't steal
            }
            TaskPane taskpane = null;

            while (control != null)
            {
                if (control is TaskPane)
                {
                    taskpane = control as TaskPane;
                }
                control = control.Parent;
            }

            if (taskpane != null)
            {
                taskpane.Focus();
            }
        }