From Xojo Documentation

You are currently browsing the old Xojo documentation site. Please visit the new Xojo documentation site!

Class (inherits from MenuItem)

Used to handle the application’s and windows’ menu bar.

Handle fa-lock-32.png Name
LastRowIndex fa-lock-32.png Tag

AddMenu Count RemoveMenuAt
AddMenuAt MenuAt
Close Remove


When you create a new desktop project, a default MenuBar (called MainMenuBar) is added to your project.

You can refer to a MenuBar globally by its name because an "implicit instance" is automatically created for you to use. If you use the global name, then you will get the same MenuBar instance everywhere you use it. If you modify the MenuBar in code, the modification will appear everywhere the MenuBar is used.

If you would rather have separate instances of the MenuBar, you should assign it in code manually in the Window.Open event:

Self.MenuBar = New MainMenuBar

On macOS, if a window does not have a MenuBar specified, then the window uses the MenuBar specified on Application.MenuBar.

On Windows and Linux, if a window does not have a MenuBar specified, then the window will display without a MenuBar even if one is specified in Application.MenuBar.


See examples for the MenuItem class.

See Also

MenuItem; Application.MenuBar and Window.MenuBar properties.