public void Close(ToolStripDropDownCloseReason reason)
        {
            if (!this.Visible)
            {
                return;
            }

            // Give users a chance to cancel the close
            ToolStripDropDownClosingEventArgs e = new ToolStripDropDownClosingEventArgs(reason);

            this.OnClosing(e);

            if (e.Cancel)
            {
                return;
            }

            // Don't actually close if AutoClose == true unless explicitly called
            if (!this.auto_close && reason != ToolStripDropDownCloseReason.CloseCalled)
            {
                return;
            }

            // Detach from the tracker
            ToolStripManager.AppClicked     -= new EventHandler(ToolStripMenuTracker_AppClicked);;
            ToolStripManager.AppFocusChange -= new EventHandler(ToolStripMenuTracker_AppFocusChange);

            // Hide this dropdown
            this.Hide();

            // Owner MenuItem needs to be told to redraw (it's no longer selected)
            if (owner_item != null)
            {
                owner_item.Invalidate();
            }

            // Recursive hide all child dropdowns
            foreach (ToolStripItem tsi in this.Items)
            {
                tsi.Dismiss(reason);
            }

            this.OnClosed(new ToolStripDropDownClosedEventArgs(reason));
        }
		internal override void Dismiss (ToolStripDropDownCloseReason reason)
		{
			// Make sure we don't auto-dropdown next time we're activated
			this.MenuDroppedDown = false;
			
			base.Dismiss (reason);
		}
	public void CloseMenu(ToolStripDropDownCloseReason reason) {
		isClosing = true;
		Menu.Close(reason);
		isClosing = false;
	}
Beispiel #4
0
		internal virtual void Dismiss (ToolStripDropDownCloseReason reason)
		{
			// Release our stranglehold on the keyboard
			this.KeyboardActive = false;
			
			// Set our drop down flag to false;
			this.menu_selected = false;
			
			// Make sure all of our items are deselected and repainted
			foreach (ToolStripItem tsi in this.Items)
				tsi.Dismiss (reason);
				
			// We probably need to redraw for mnemonic underlines
			this.Invalidate ();
		}
 public ToolStripDropDownClosedEventArgs(ToolStripDropDownCloseReason reason) {
     closeReason = reason;
 }
 /// <summary>
 /// Close any showing context menu.
 /// </summary>
 /// <param name="reason">Reason why the context menu is being closed.</param>
 public void Close(ToolStripDropDownCloseReason reason)
 {
     // Remove any showing context menu
     if (_contextMenu != null)
     {
         _closeReason = reason;
         VisualPopupManager.Singleton.EndPopupTracking(_contextMenu);
     }
 }
Beispiel #7
0
 public ToolStripDropDownClosedEventArgs(ToolStripDropDownCloseReason reason)
 {
     throw null;
 }
 // Constructors
 public ToolStripDropDownClosingEventArgs(ToolStripDropDownCloseReason reason)
 {
 }
Beispiel #9
0
            internal static void CloseActiveDropDown(ToolStripDropDown activeToolStripDropDown, ToolStripDropDownCloseReason reason) {

                activeToolStripDropDown.SetCloseReason(reason);
                activeToolStripDropDown.Visible = false;

                // there's no more dropdowns left in the chain
                if (GetActiveToolStrip() == null) {
                    Debug.WriteLineIf(ToolStrip.SnapFocusDebug.TraceVerbose, "[ModalMenuFilter.CloseActiveDropDown] Calling exit because there are no more dropdowns left to activate.");
                    ExitMenuMode();

                    // make sure we roll selection off  the toplevel toolstrip.
                    if (activeToolStripDropDown.OwnerItem != null) {
                        activeToolStripDropDown.OwnerItem.Unselect();
                    }
                }

            }
Beispiel #10
0
 public void Close(ToolStripDropDownCloseReason reason)
 {
     throw null;
 }
		internal override void Dismiss (ToolStripDropDownCloseReason reason)
		{
			this.Close (reason);
			base.Dismiss (reason);

			// ContextMenuStrip won't have a parent
			if (this.OwnerItem == null)
				return;
			
			// Ensure Submenu loes keyboard capture when closing.
			ToolStripManager.SetActiveToolStrip (null, false);			
		}
 private void ResetCloseReason()
 {
     this.closeReason = ToolStripDropDownCloseReason.AppFocusChange;
 }
 public void Close(ToolStripDropDownCloseReason reason)
 {
     this.SetCloseReason(reason);
     this.Visible = false;
 }
 internal override void Dismiss(ToolStripDropDownCloseReason reason)
 {
     this.Close(reason);
     base.Dismiss(reason);
 }
 public void Close(ToolStripDropDownCloseReason reason)
 {
 }
 internal void SetCloseReason(ToolStripDropDownCloseReason reason)
 {
     this.closeReason = reason;
 }
		internal override void Dismiss (ToolStripDropDownCloseReason reason)
		{
			if (this.Selected)
				this.Parent.Focus ();
				
			base.Dismiss (reason);
		}
        public void Ctor_CloseReason(ToolStripDropDownCloseReason closeReason)
        {
            var e = new ToolStripDropDownClosedEventArgs(closeReason);

            Assert.Equal(closeReason, e.CloseReason);
        }
		internal override void Dismiss (ToolStripDropDownCloseReason reason)
		{
			if (this.HasDropDownItems && this.DropDown.Visible)
				this.DropDown.Dismiss (reason);
				
			base.Dismiss (reason);
		}
 public void CloseMenu(ToolStripDropDownCloseReason reason)
 {
     isClosing = true;
     Menu.Close(reason);
     isClosing = false;
 }
		internal void HideDropDown (ToolStripDropDownCloseReason reason)
		{
			if (this.drop_down == null || !this.DropDown.Visible)
				return;

			// OnDropDownHide is called before actually closing DropDown
			this.OnDropDownHide (EventArgs.Empty);
			this.DropDown.Close (reason);
			this.is_pressed = false;
			this.Invalidate ();
		}
        /// <summary>
        /// Show the context menu relative to the provided screen rectangle.
        /// </summary>
        /// <param name="caller">Reference to object causing the context menu to be shown.</param>
        /// <param name="screenRect">Screen rectangle.</param>
        /// <param name="horz">Horizontal location relative to screen rectangle.</param>
        /// <param name="vert">Vertical location relative to screen rectangle.</param>
        /// <param name="keyboardActivated">Was context menu initiated via a keyboard action.</param>
        /// <param name="constrain">Should size and position of menu be constrained by display size.</param>
        /// <returns>Has the context menu become displayed.</returns>
        public bool Show(object caller,
                         Rectangle screenRect,
                         KryptonContextMenuPositionH horz,
                         KryptonContextMenuPositionV vert,
                         bool keyboardActivated,
                         bool constrain)
        {
            bool displayed = false;

            // Only need to show if not already displaying it
            if (_contextMenu == null)
            {
                // Remember the caller for us in events
                _caller = caller;

                // Give event handler a change to cancel the open request
                CancelEventArgs cea = new CancelEventArgs();
                OnOpening(cea);

                if (!cea.Cancel)
                {
                    // Set a default reason for the menu being dismissed
                    _closeReason = ToolStripDropDownCloseReason.AppFocusChange;

                    // Create the actual control used to show the context menu
                    _contextMenu = CreateContextMenu(this, _localPalette, _paletteMode,
                                                     _redirector, _redirectorImages,
                                                     Items, Enabled, keyboardActivated);

                    // Need to know when the visual control is removed
                    _contextMenu.Disposed += new EventHandler(OnContextMenuDisposed);

                    // Request the menu be shown immediately
                    _contextMenu.Show(screenRect, horz, vert, false, constrain);

                    // Override the horz, vert setting so that sub menus appear right and below
                    _contextMenu.ShowHorz = KryptonContextMenuPositionH.After;
                    _contextMenu.ShowVert = KryptonContextMenuPositionV.Top;

                    // Indicate the context menu is fully constructed and displayed
                    OnOpened(EventArgs.Empty);

                    // The menu has actually become displayed
                    displayed = true;
                }
            }

            return displayed;
        }
 /// <summary>
 /// Initialize a new instance of the CloseReasonEventArgs class.
 /// </summary>
 /// <param name="closeReason">Reason for the close action occuring.</param>
 public CloseReasonEventArgs(ToolStripDropDownCloseReason closeReason)
 {
     _closeReason = closeReason;
 }
Beispiel #24
0
		public ToolStripDropDownClosingEventArgs (ToolStripDropDownCloseReason reason) : base ()
		{
			this.close_reason = reason;
		}
 internal static void CloseActiveDropDown(ToolStripDropDown activeToolStripDropDown, ToolStripDropDownCloseReason reason)
 {
     activeToolStripDropDown.SetCloseReason(reason);
     activeToolStripDropDown.Visible = false;
     if (GetActiveToolStrip() == null)
     {
         ExitMenuMode();
         if (activeToolStripDropDown.OwnerItem != null)
         {
             activeToolStripDropDown.OwnerItem.Unselect();
         }
     }
 }
Beispiel #26
0
		internal void HideMenus (bool release, ToolStripDropDownCloseReason reason)
		{
			if (this is MenuStrip && release && menu_selected)
				(this as MenuStrip).FireMenuDeactivate ();
				
			if (release)
				menu_selected = false;
				
			NotifySelectedChanged (null);
		}
Beispiel #27
0
		public void Close (ToolStripDropDownCloseReason reason)
		{
			if (!this.Visible)
				return;
				
			// Give users a chance to cancel the close
			ToolStripDropDownClosingEventArgs e = new ToolStripDropDownClosingEventArgs (reason);
			this.OnClosing (e);

			if (e.Cancel)
				return;

			// Don't actually close if AutoClose == true unless explicitly called
			if (!this.auto_close && reason != ToolStripDropDownCloseReason.CloseCalled)
				return;

			// Detach from the tracker
			ToolStripManager.AppClicked -= new EventHandler (ToolStripMenuTracker_AppClicked); ;
			ToolStripManager.AppFocusChange -= new EventHandler (ToolStripMenuTracker_AppFocusChange);

			// Hide this dropdown
			this.Hide ();

			// Owner MenuItem needs to be told to redraw (it's no longer selected)
			if (owner_item != null)
				owner_item.Invalidate ();

			// Recursive hide all child dropdowns
			foreach (ToolStripItem tsi in this.Items)
				tsi.Dismiss (reason);
			
			this.OnClosed (new ToolStripDropDownClosedEventArgs (reason));
		}
		internal virtual void Dismiss (ToolStripDropDownCloseReason reason)
		{
			if (is_selected) {
				this.is_selected = false;
				this.Invalidate ();
				OnUIASelectionChanged ();
			}
		}
Beispiel #29
0
		internal override void Dismiss (ToolStripDropDownCloseReason reason)
		{
			this.Close (reason);
			base.Dismiss (reason);
		}
 /// <summary>
 /// Initialize a new instance of the CloseReasonEventArgs class.
 /// </summary>
 /// <param name="closeReason">Reason for the close action occuring.</param>
 public CloseReasonEventArgs(ToolStripDropDownCloseReason closeReason)
 {
     CloseReason = closeReason;
 }
 public void Close(ToolStripDropDownCloseReason reason)
 {
     closeReason  = reason;
     this.Visible = false;
 }
 public ToolStripDropDownClosedEventArgs(ToolStripDropDownCloseReason reason)
 {
     CloseReason = reason;
 }
Beispiel #33
0
 // Constructors
 public ToolStripDropDownClosingEventArgs(ToolStripDropDownCloseReason reason)
 {
 }