Skip to main content
Bar

BarButtonItem.DropDownControl Property

Gets or sets a Dropdown control for the BarButtonItem component.

Namespace: DevExpress.XtraBars

Assembly: DevExpress.XtraBars.v22.2.dll

NuGet Package: DevExpress.Win.Navigation

Declaration

[DefaultValue(null)]
public virtual PopupControl DropDownControl { get; set; }

Property Value

Type Default Description
DevExpress.XtraBars.PopupControl null

A Dropdown control for the BarButtonItem component.

Remarks

BarButtonItem objects may have a dropdown. A dropdown contains a specific control or a menu, which appears when users click the button (or its dropdown arrow). To enable the dropdown, set the BarButtonItem.ButtonStyle property to BarButtonStyle.DropDown, and assign a dropdown control to the DropDownControl property.

The DropDownControl property accepts the following objects:

The code sample below illustrates how to implement a bar button with zoom options in a dropdown.

using DevExpress.XtraEditors;
using DevExpress.XtraBars;

namespace WindowsFormsApp1
{
  public partial class XtraForm1 : DevExpress.XtraEditors.XtraForm
    {
    public XtraForm3()
        {
        InitializeComponent();

        BarManager barManager = new BarManager();
            barManager.Form = this;

            barManager.BeginUpdate();
            Bar bar1 = new Bar(barManager, "My Bar");
            bar1.DockStyle = BarDockStyle.Top;
            BarButtonItem buttonViewOutput = new BarButtonItem(barManager, "Zoom");
            bar1.AddItem(buttonViewOutput);
            barManager.EndUpdate();

            buttonViewOutput.ButtonStyle = BarButtonStyle.DropDown;
            buttonViewOutput.DropDownEnabled = true;

            Label scaleLabel = new Label();
            scaleLabel.Text = "Zoom to:";
            scaleLabel.Dock = DockStyle.Top;

            SpinEdit scaleSpin = new SpinEdit();
            scaleSpin.Dock = DockStyle.Bottom;
            scaleSpin.EditValue = 135;

            Label scaleSpinLabel = new Label();
            scaleSpinLabel.Width = 50;
            scaleSpinLabel.Padding = new Padding(0,10,0,0);
            scaleSpinLabel.Text = "Percent:";
            scaleSpinLabel.Dock = DockStyle.Left;

            RadioGroup scaleRadio = new RadioGroup();
            scaleRadio.Properties.Columns = 2;
            scaleRadio.Dock = DockStyle.Top;
            scaleRadio.Properties.Items.Add(new RadioGroupItem { Description="200%" });
            scaleRadio.Properties.Items.Add(new RadioGroupItem { Description = "100%" });
            scaleRadio.Properties.Items.Add(new RadioGroupItem { Description = "75%" });
            scaleRadio.Properties.Items.Add(new RadioGroupItem { Description = "Page width" });
            scaleRadio.Properties.Items.Add(new RadioGroupItem { Description = "Whole width" });

            PopupControlContainer container = new PopupControlContainer();
            container.Padding = new Padding(10);
            container.Height = 165;
            container.Width = 200;
            container.Manager = barManager1;
            container.Controls.Add(scaleSpin);
            container.Controls.Add(scaleSpinLabel);
            container.Controls.Add(scaleRadio);
            container.Controls.Add(scaleLabel);
            buttonViewOutput.DropDownControl = container;
        }
    }
}
See Also