protected virtual void HandlePopupItemPressed(ButtonBase sender) { if (CloseMenuOnClick && !(sender is DropDownBase) && MenuControl.GetTag <ButtonBase>("Owner") == this) { Hide(false); } }
protected virtual void Show(bool focus) { var prevOwner = MenuControl.GetTag <ButtonBase>("Owner"); if (prevOwner != null && prevOwner is ButtonBase prevCheck) { prevCheck.Checked = false; } MenuControl.SetTag("Owner", this); BeforeShow?.Invoke(); Checked = true; IsPopupOpen = true; var location = ActualLocation; if (MenuControl is ContextMenuStrip) { showContextMenu(location); } else { setRegularMenuLocation(location); showRegularMenu(); } if (focus) { focusFirstMenuItem(); } }