Class MenuBar
Provides a menu bar with drop-down and cascading menus.
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize
Remarks
The MenuBar appears on the first row of the terminal.
The MenuBar provides global hotkeys for the application.
Inherited Members
Namespace: Terminal.Gui
Assembly: Terminal.Gui.dll
Syntax
public class MenuBar : View
Constructors
MenuBar()
Initializes a new instance of the MenuBar.
Declaration
public MenuBar()
MenuBar(MenuBarItem[])
Initializes a new instance of the MenuBar class with the specified set of toplevel menu items.
Declaration
public MenuBar(MenuBarItem[] menus)
Parameters
Type | Name | Description |
---|---|---|
MenuBarItem[] | menus | Individual menu items; a null item will result in a separator being drawn. |
Properties
HotKeySpecifier
The specifier character for the hotkey to all menus.
Declaration
public static Rune HotKeySpecifier { get; }
Property Value
Type | Description |
---|---|
System.Rune |
IsMenuOpen
True if the menu is open; otherwise false.
Declaration
public bool IsMenuOpen { get; protected set; }
Property Value
Type | Description |
---|---|
System.Boolean |
LastFocused
Get the lasted focused view before open the menu.
Declaration
public View LastFocused { get; }
Property Value
Type | Description |
---|---|
View |
Menus
Gets or sets the array of MenuBarItems for the menu. Only set this when the MenuBar is visible.
Declaration
public MenuBarItem[] Menus { get; set; }
Property Value
Type | Description |
---|---|
MenuBarItem[] | The menu array. |
ShortcutDelimiter
Used for change the shortcut delimiter separator.
Declaration
public static ustring ShortcutDelimiter { get; set; }
Property Value
Type | Description |
---|---|
NStack.ustring |
UseKeysUpDownAsKeysLeftRight
Used for change the navigation key style.
Declaration
public bool UseKeysUpDownAsKeysLeftRight { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
UseSubMenusSingleFrame
Gets or sets if the sub-menus must be displayed in a single or multiple frames.
Declaration
public bool UseSubMenusSingleFrame { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Methods
CloseMenu(Boolean)
Closes the current Menu programatically, if open and not canceled.
Declaration
public bool CloseMenu(bool ignoreUseSubMenusSingleFrame = false)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | ignoreUseSubMenusSingleFrame |
Returns
Type | Description |
---|---|
System.Boolean |
MouseEvent(MouseEvent)
Method invoked when a mouse event is generated
Declaration
public override bool MouseEvent(MouseEvent me)
Parameters
Type | Name | Description |
---|---|---|
MouseEvent | me |
Returns
Type | Description |
---|---|
System.Boolean | true , if the event was handled, false otherwise. |
Overrides
OnEnter(View)
Method invoked when a view gets focus.
Declaration
public override bool OnEnter(View view)
Parameters
Type | Name | Description |
---|---|---|
View | view | The view that is losing focus. |
Returns
Type | Description |
---|---|
System.Boolean | true , if the event was handled, false otherwise. |
Overrides
OnKeyDown(KeyEvent)
Method invoked when a key is pressed.
Declaration
public override bool OnKeyDown(KeyEvent keyEvent)
Parameters
Type | Name | Description |
---|---|---|
KeyEvent | keyEvent | Contains the details about the key that produced the event. |
Returns
Type | Description |
---|---|
System.Boolean | true if the event was handled |
Overrides
OnKeyUp(KeyEvent)
Method invoked when a key is released.
Declaration
public override bool OnKeyUp(KeyEvent keyEvent)
Parameters
Type | Name | Description |
---|---|---|
KeyEvent | keyEvent | Contains the details about the key that produced the event. |
Returns
Type | Description |
---|---|
System.Boolean | true if the event was handled |
Overrides
OnLeave(View)
Method invoked when a view loses focus.
Declaration
public override bool OnLeave(View view)
Parameters
Type | Name | Description |
---|---|---|
View | view | The view that is getting focus. |
Returns
Type | Description |
---|---|
System.Boolean | true , if the event was handled, false otherwise. |
Overrides
OnMenuAllClosed()
Virtual method that will invoke the MenuAllClosed
Declaration
public virtual void OnMenuAllClosed()
OnMenuClosing(MenuBarItem, Boolean, Boolean)
Virtual method that will invoke the MenuClosing
Declaration
public virtual MenuClosingEventArgs OnMenuClosing(MenuBarItem currentMenu, bool reopen, bool isSubMenu)
Parameters
Type | Name | Description |
---|---|---|
MenuBarItem | currentMenu | The current menu to be closed. |
System.Boolean | reopen | Whether the current menu will be reopen. |
System.Boolean | isSubMenu | Whether is a sub-menu or not. |
Returns
Type | Description |
---|---|
MenuClosingEventArgs |
OnMenuOpened()
Virtual method that will invoke the MenuOpened event if it's defined.
Declaration
public virtual void OnMenuOpened()
OnMenuOpening(MenuBarItem)
Virtual method that will invoke the MenuOpening event if it's defined.
Declaration
public virtual MenuOpeningEventArgs OnMenuOpening(MenuBarItem currentMenu)
Parameters
Type | Name | Description |
---|---|---|
MenuBarItem | currentMenu | The current menu to be replaced. |
Returns
Type | Description |
---|---|
MenuOpeningEventArgs | Returns the MenuOpeningEventArgs |
OpenMenu()
Opens the current Menu programatically.
Declaration
public void OpenMenu()
PositionCursor()
Positions the cursor in the right position based on the currently focused view in the chain.
Declaration
public override void PositionCursor()
Overrides
ProcessColdKey(KeyEvent)
This method can be overwritten by views that
want to provide accelerator functionality
(Alt-key for example), but without
interefering with normal ProcessKey behavior.
Declaration
public override bool ProcessColdKey(KeyEvent kb)
Parameters
Type | Name | Description |
---|---|---|
KeyEvent | kb |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
ProcessHotKey(KeyEvent)
This method can be overwritten by view that
want to provide accelerator functionality
(Alt-key for example).
Declaration
public override bool ProcessHotKey(KeyEvent kb)
Parameters
Type | Name | Description |
---|---|---|
KeyEvent | kb |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
ProcessKey(KeyEvent)
If the view is focused, gives the view a
chance to process the keystroke.
Declaration
public override bool ProcessKey(KeyEvent kb)
Parameters
Type | Name | Description |
---|---|---|
KeyEvent | kb |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
Redraw(Rect)
Redraws this view and its subviews; only redraws the views that have been flagged for a re-display.
Declaration
public override void Redraw(Rect bounds)
Parameters
Type | Name | Description |
---|---|---|
Rect | bounds | The bounds (view-relative region) to redraw. |
Overrides
Events
MenuAllClosed
Raised when all the menu are closed.
Declaration
public event Action MenuAllClosed
Event Type
Type | Description |
---|---|
System.Action |
MenuClosing
Raised when a menu is closing passing MenuClosingEventArgs.
Declaration
public event Action<MenuClosingEventArgs> MenuClosing
Event Type
Type | Description |
---|---|
System.Action<MenuClosingEventArgs> |
MenuOpened
Raised when a menu is opened.
Declaration
public event Action<MenuItem> MenuOpened
Event Type
Type | Description |
---|---|
System.Action<MenuItem> |
MenuOpening
Raised as a menu is opening.
Declaration
public event Action<MenuOpeningEventArgs> MenuOpening
Event Type
Type | Description |
---|---|
System.Action<MenuOpeningEventArgs> |
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize