private void HandleControlParent() { if (this.controlLastParent != null) { if (this.controlLastParent != this.Control.Parent) { ((Control)this.controlLastParent).SizeChanged -= OnControlParentSizeChanged; } } if (this.Control.Parent != null) { this.Control.Parent.SizeChanged += OnControlParentSizeChanged; HandleDockOnCenter(); } PropertyInfo propertyInfo = this.Control.GetType().GetProperty("LastParentChangingEventHandler", BindingFlags.Public | BindingFlags.Instance); ControlEventHandler lastParentChangingEventHandler = (ControlEventHandler)propertyInfo?.GetValue(this.Control); lastParentChangingEventHandler?.Invoke(this.Control, new ControlEventArgs(this.controlLastParent)); this.controlLastParent = this.Control.Parent; }
public static void RaiseControlEvent(object objectRaisingEvent, ControlEventHandler controlEventHandlerRaised, ControlEventArgs controlEventArgs) { controlEventHandlerRaised?.Invoke(objectRaisingEvent, controlEventArgs); }