# MenuItem class

Namespace: [Eto.Forms](https://eto.picoe.ca/api/namespace/eto.forms.md) · Assembly: [Eto](https://eto.picoe.ca/api/assembly/eto.md)

```cs
[TypeConverter(MenuItemConverter)]
public abstract class MenuItem : Menu, ICommandItem
```

Base class for items in a menu

**Derived types:** [ButtonMenuItem](https://eto.picoe.ca/api/type/eto.forms.buttonmenuitem.md), [CheckMenuItem](https://eto.picoe.ca/api/type/eto.forms.checkmenuitem.md), [RadioMenuItem](https://eto.picoe.ca/api/type/eto.forms.radiomenuitem.md), [SeparatorMenuItem](https://eto.picoe.ca/api/type/eto.forms.separatormenuitem.md)

## Constructors

- [MenuItem](https://eto.picoe.ca/api/type/eto.forms.menuitem/ctor.md): (3 overloads) Initializes a new instance of the [MenuItem](https://eto.picoe.ca/api/type/eto.forms.menuitem.md) class.

## Fields

- [ValidateEvent](https://eto.picoe.ca/api/type/eto.forms.menuitem/validateevent.md): (static) Identifier for handlers when attaching the [MenuItem.Validate](https://eto.picoe.ca/api/type/eto.forms.menuitem/validate.md) event.

## Properties

- [Command](https://eto.picoe.ca/api/type/eto.forms.menuitem/command.md): Gets or sets the command to invoke when the menu item is pressed.
- [CommandParameter](https://eto.picoe.ca/api/type/eto.forms.menuitem/commandparameter.md): Gets or sets the parameter to pass to the [MenuItem.Command](https://eto.picoe.ca/api/type/eto.forms.menuitem/command.md) when executing or determining its CanExecute state.
- [Enabled](https://eto.picoe.ca/api/type/eto.forms.menuitem/enabled.md): Gets or sets a value indicating whether this [MenuItem](https://eto.picoe.ca/api/type/eto.forms.menuitem.md) is enabled.
- [Order](https://eto.picoe.ca/api/type/eto.forms.menuitem/order.md): Gets or sets the order that the menu item should use when inserted into a submenu.
- [Shortcut](https://eto.picoe.ca/api/type/eto.forms.menuitem/shortcut.md): Gets or sets the shortcut key the user can press to activate the menu item.
- [Tag](https://eto.picoe.ca/api/type/eto.forms.menuitem/tag.md): Gets or sets a user-defined tag for the menu item.
- [Text](https://eto.picoe.ca/api/type/eto.forms.menuitem/text.md): Gets or sets the text of the menu item, with mnemonics identified with &.
- [ToolTip](https://eto.picoe.ca/api/type/eto.forms.menuitem/tooltip.md): Gets or sets the tool tip of the item.
- [Visible](https://eto.picoe.ca/api/type/eto.forms.menuitem/visible.md): Gets or sets a value indicating whether this `MenuItem` is visible.

## Methods

- [GetCallback](https://eto.picoe.ca/api/type/eto.forms.menuitem/getcallback.md): Gets an instance of an object used to perform callbacks to the widget from handler implementations
- [OnClick](https://eto.picoe.ca/api/type/eto.forms.menuitem/onclick.md): Raises the [MenuItem.Click](https://eto.picoe.ca/api/type/eto.forms.menuitem/click.md) event.
- [OnValidate](https://eto.picoe.ca/api/type/eto.forms.menuitem/onvalidate.md): Raises the [MenuItem.Validate](https://eto.picoe.ca/api/type/eto.forms.menuitem/validate.md) event.
- [PerformClick](https://eto.picoe.ca/api/type/eto.forms.menuitem/performclick.md): Performs the click handler for this item.
- [PerformValidate](https://eto.picoe.ca/api/type/eto.forms.menuitem/performvalidate.md): Executes the [MenuItem.OnValidate(EventArgs)](https://eto.picoe.ca/api/type/eto.forms.menuitem/onvalidate.md) for this item.
- [Unbind](https://eto.picoe.ca/api/type/eto.forms.menuitem/unbind.md): Unbinds any bindings in the [BindableWidget.Bindings](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/bindings.md) collection and removes the bindings

## Events

- [Click](https://eto.picoe.ca/api/type/eto.forms.menuitem/click.md): Occurs when the user clicks or selects the menu item.
- [Validate](https://eto.picoe.ca/api/type/eto.forms.menuitem/validate.md): Occurs when the menu item is validated.

## Inherited Members

- From [Menu](https://eto.picoe.ca/api/type/eto.forms.menu.md): [OnLoad](https://eto.picoe.ca/api/type/eto.forms.menu/onload.md), [OnPreLoad](https://eto.picoe.ca/api/type/eto.forms.menu/onpreload.md), [OnUnLoad](https://eto.picoe.ca/api/type/eto.forms.menu/onunload.md)
- From [BindableWidget](https://eto.picoe.ca/api/type/eto.forms.bindablewidget.md): [Bindings](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/bindings.md), [DataContext](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontext.md), [IsDataContextChanging](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/isdatacontextchanging.md), [Parent](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/parent.md), [Parents](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/parents.md), [DataContextChanged](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/datacontextchanged.md), [FindParent](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/findparent.md), [OnDataContextChanged](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/ondatacontextchanged.md), [UpdateBindings](https://eto.picoe.ca/api/type/eto.forms.bindablewidget/updatebindings.md)
- From [Widget](https://eto.picoe.ca/api/type/eto.widget.md): [ControlObject](https://eto.picoe.ca/api/type/eto.widget/controlobject.md), [Handler](https://eto.picoe.ca/api/type/eto.widget/handler.md), [ID](https://eto.picoe.ca/api/type/eto.widget/id.md), [IsDisposed](https://eto.picoe.ca/api/type/eto.widget/isdisposed.md), [NativeHandle](https://eto.picoe.ca/api/type/eto.widget/nativehandle.md), [Platform](https://eto.picoe.ca/api/type/eto.widget/platform.md), [Properties](https://eto.picoe.ca/api/type/eto.widget/properties.md), [Style](https://eto.picoe.ca/api/type/eto.widget/style.md), [StyleChanged](https://eto.picoe.ca/api/type/eto.widget/stylechanged.md), [Dispose](https://eto.picoe.ca/api/type/eto.widget/dispose.md), [Initialize](https://eto.picoe.ca/api/type/eto.widget/initialize.md), [OnStyleChanged](https://eto.picoe.ca/api/type/eto.widget/onstylechanged.md), [ToString](https://eto.picoe.ca/api/type/eto.widget/tostring.md)
