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