Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Extensions.UI
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Collapse]DevExpress.XtraBars
    AnimationType Enumeration
   [Expand]Bar Class
   [Expand]BarAndDockingController Class
   [Expand]BarAndDockingControllerLookAndFeel Class
   [Expand]BarBaseButtonItem Class
   [Expand]BarBaseButtonItemLink Class
   [Expand]BarButtonGroup Class
   [Expand]BarButtonGroupLink Class
   [Collapse]BarButtonItem Class
     BarButtonItem Members
    [Expand]BarButtonItem Constructor
    [Expand]BarButtonItem Properties
    [Expand]BarButtonItem Methods
   [Expand]BarButtonItemLink Class
    BarButtonStyle Enumeration
    BarCanDockStyle Enumeration
   [Expand]BarCheckItem Class
   [Expand]BarCheckItemLink Class
   [Expand]BarCustomContainerItem Class
   [Expand]BarCustomContainerItemLink Class
   [Expand]BarCustomDrawEventArgs Class
    BarCustomDrawEventHandler Delegate
   [Expand]BarDockControl Class
   [Expand]BarDockingMenuItem Class
   [Expand]BarDockingMenuItemLink Class
    BarDockStyle Enumeration
   [Expand]BarDockWindow Class
   [Expand]BarDockWindowCollection Class
   [Expand]BarEditItem Class
   [Expand]BarEditItemLink Class
   [Expand]BarHeaderItem Class
   [Expand]BarHeaderItemLink Class
   [Expand]BarItem Class
    BarItemBorderStyle Enumeration
    BarItemCaptionAlignment Enumeration
   [Expand]BarItemCustomDrawEventArgs Class
    BarItemCustomDrawEventHandler Delegate
    BarItemEventFireMode Enumeration
   [Expand]BarItemImageOptions Class
   [Expand]BarItemLink Class
   [Expand]BarItemLinkCollection Class
   [Expand]BarItemLinkReadOnlyCollection Class
    BarItemPaintStyle Enumeration
   [Expand]BarItems Class
    BarItemVisibility Enumeration
   [Expand]BarLargeButtonItem Class
   [Expand]BarLargeButtonItemLink Class
   [Expand]BarLinkContainerItem Class
   [Expand]BarLinkContainerItemLink Class
    BarLinkUserDefines Enumeration
   [Expand]BarListItem Class
   [Expand]BarListItemLink Class
   [Expand]BarManager Class
   [Expand]BarManagerAppearances Class
   [Expand]BarManagerCategory Class
   [Expand]BarManagerCategoryCollection Class
   [Expand]BarManagerMergeEventArgs Class
    BarManagerMergeEventHandler Delegate
   [Expand]BarManagerProperties Class
   [Expand]BarMdiChildrenListItem Class
   [Expand]BarMdiChildrenListItemLink Class
    BarMdiMenuMergeStyle Enumeration
    BarMenuMerge Enumeration
    BarOptionFlags Enumeration
   [Expand]BarOptions Class
   [Expand]Bars Class
   [Expand]BarShortcut Class
   [Expand]BarStaticItem Class
   [Expand]BarStaticItemLink Class
    BarStaticItemSize Enumeration
   [Expand]BarSubItem Class
   [Expand]BarSubItemLink Class
   [Expand]BarToggleSwitchItem Class
   [Expand]BarToggleSwitchItemLink Class
   [Expand]BarToolbarsListItem Class
   [Expand]BarToolbarsListItemLink Class
   [Expand]BaseBarManagerOptions Class
   [Expand]CreateCustomizationFormEventArgs Class
    CreateCustomizationFormEventHandler Delegate
   [Expand]CreateToolbarEventArgs Class
    CreateToolbarEventHandler Delegate
   [Expand]DefaultBarAndDockingController Class
   [Expand]HighlightedLinkChangedEventArgs Class
    HighlightedLinkChangedEventHandler Delegate
   [Expand]ItemCancelEventArgs Class
    ItemCancelEventHandler Delegate
   [Expand]ItemClickEventArgs Class
    ItemClickEventHandler Delegate
   [Expand]LinkEventArgs Class
    LinkEventHandler Delegate
   [Expand]ListItemClickEventArgs Class
    ListItemClickEventHandler Delegate
   [Expand]MenuAppearance Class
    MenuDrawMode Enumeration
   [Expand]PopupControlContainer Class
   [Expand]PopupMenu Class
   [Expand]PopupMenuBase Class
    PopupShowMode Enumeration
   [Expand]QueryShowPopupMenuEventArgs Class
    QueryShowPopupMenuEventHandler Delegate
   [Expand]RibbonAppearances Class
   [Expand]RibbonGalleryAppearances Class
   [Expand]RibbonGalleryBarItem Class
   [Expand]RibbonGalleryBarItemLink Class
   [Expand]RibbonProperties Class
   [Expand]ShortcutItemClickEventArgs Class
    ShortcutItemClickEventHandler Delegate
   [Expand]ShowToolbarsContextMenuEventArgs Class
    ShowToolbarsContextMenuEventHandler Delegate
   [Expand]StandaloneBarDockControl Class
   [Expand]StateAppearances Class
   [Expand]Strings Class
   [Expand]TabForm Class
   [Expand]TabFormControl Class
   [Expand]TabFormControlBase Class
   [Expand]TabFormPage Class
    ToolTipAnchor Enumeration
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Expand]DevExpress.XtraPdfViewer
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

BarButtonItem Class

Represents a toolbar button or menu item.

Namespace:DevExpress.XtraBars
Assembly:DevExpress.XtraBars.v17.2.dll

Expanded Syntax

Expanded Remarks

The BarButtonItem class implements the functionality of the DevExpress Ribbon, Menu and Docking Library. It is visually represented by the BarButtonItemLink control. The BarButtonItem component can have several visual representations. Each of them represents a BarButtonItemLink class instance. In other words, numerous links are used to represent one item in different toolbars and menus.

You can customize both a link and an item. If you customize the BarButtonItem component, all changes are applied to all its link - but link customization only affects a BarButtonItemLink class instance.

Another great feature of the BarButtonItem component is its ButtonStyle property. It allows you to change the BarButtonItem component's look & feel.

The Check style allows the BarButtonItem component to be checked. This results in the display of a blue rectangle around the item and setting its BarBaseButtonItem.Down property to true.

Since there are two types of item containers supported by the DevExpress Ribbon, Menu and Docking Library, there are also two types of button representation.

  1. within a popup or dropdown menu:

  2. within a toolbar:

The DropDown style allows the BarButtonItem component to display a Dropdown control. Specify the DropDownControl to assign a Dropdown control to the item. To specify the property, you must have a PopupControlContainer or PopupMenu component within the project.

The Default style specifies a simple toolbar button or menu item. It can contain a descriptive image and caption.

Note

If you create Bar Items in code, note that these objects may not function properly without being associated with a BarManager or RibbonControl. To create a Bar Item, use a Bar Item constructor that has the BarManager parameter. When creating a Bar Item in code for use within a RibbonControl, use a Bar Item constructor that has the BarManager parameter, and pass the RibbonControl.Manager object as this parameter.

Expanded Example

The following code shows how to create bars and bar items in code.

In the example two bars are created - a main menu (a bar that is stretched to match the form's width), and a regular bar. The main menu will contain three sub-menus (File, Edit and View), each having its own bar items. The second bar will display the Output button, which is also available via the View submenu of the first bar:

Bars are added to the BarManager.Bars collection. Bar items are added to bars via the Bar.AddItem and Bar.AddItems methods.

To avoid flickering while adding and customizing bars and bar items, the code that performs the customization is enclosed with the BarManager.BeginUpdate and BarManager.EndUpdate method calls.

To respond to clicking bar items, the BarManager.ItemClick event is handled.

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          BarItem
             BarBaseButtonItem
                BarButtonItem
                   DevExpress.XtraBars.BarInListItem
                   DevExpress.XtraBars.BarInMdiChildrenListItem
                   BarLargeButtonItem
                   RibbonGalleryBarItem

Expanded See Also

How would you rate this topic?​​​​​​​