/// <include file='doc\ContainerControl.uex' path='docs/doc[@for="ContainerControl.Validate"]/*' /> /// <devdoc> /// <para>Validates the last unvalidated control and its ancestors up through, but not including the current control.</para> /// </devdoc> public bool Validate() { if (unvalidatedControl == null) { if (focusedControl is ContainerControl && focusedControl.CausesValidation) { ContainerControl c = (ContainerControl)focusedControl; c.Validate(); } else { unvalidatedControl = focusedControl; } } return(ValidateThroughAncestor(null)); }
/// <include file='doc\Button.uex' path='docs/doc[@for="Button.PerformClick"]/*' /> /// <devdoc> /// <para> /// Generates a <see cref='System.Windows.Forms.Control.Click'/> event for a /// button. /// </para> /// </devdoc> public void PerformClick() { if (CanSelect) { bool fireOnClick = true; // Fix 139438 // Determine the common container between this button and the focused control IContainerControl c = GetContainerControlInternal(); if (c != null) { ContainerControl container = c as ContainerControl; if (container != null) { while (container.ActiveControl == null) { ContainerControl cc; Control parent = container.ParentInternal; if (parent != null) { cc = parent.GetContainerControlInternal() as ContainerControl; if (cc != null) { container = cc; } else { break; } } else { break; } } fireOnClick = container.Validate(); } } if (fireOnClick && !ValidationCancelled) { //Paint in raised state... // ResetFlagsandPaint(); OnClick(EventArgs.Empty); } } }