private void Popup_OnCloseRequested(PanelPopup sender, Control popupBase) { if (typeof(IPopupItem).IsAssignableFrom(sender.popup.GetType())) { IPopupItem item = (IPopupItem)sender.popup; if (!item.OnBeforePopupClose()) { return; } item.OnPopupClose(); } ChangePage(popupBase); RemovePage(sender, true); }
public void ShowPopup(Control PopupItem) { Control popupBase = SelectedPage; if (popupBase != null) { PNContent.SuspendLayout(); PanelPopup popup = new PanelPopup(popupBase, PopupItem); DoubleBuffered = true; popup.OnCloseRequested += Popup_OnCloseRequested; if (typeof(IPopupItem).IsAssignableFrom(PopupItem.GetType())) { IPopupItem item = (IPopupItem)PopupItem; item.OnPopupOpen(); } ChangePage(popup); PNContent.ResumeLayout(); } }
public void ClosePopup(PanelPopup popup) { Popup_OnCloseRequested(popup, popup.popupBase); }