示例#1
0
 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);
 }
示例#2
0
        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();
            }
        }
示例#3
0
 public void ClosePopup(PanelPopup popup)
 {
     Popup_OnCloseRequested(popup, popup.popupBase);
 }