Back to Devexpress

DXPopupMenu.MultiColumn Property

windowsforms-devexpress-dot-utils-dot-menu-dot-dxpopupmenu-f7728164.md

latest6.7 KB
Original Source

DXPopupMenu.MultiColumn Property

Gets or sets whether items in this DXPopupMenu can be displayed in multiple columns.

Namespace : DevExpress.Utils.Menu

Assembly : DevExpress.Utils.v25.2.dll

NuGet Packages : DevExpress.Utils, DevExpress.Wpf.Core

Declaration

csharp
[DefaultValue(DefaultBoolean.Default)]
public DefaultBoolean MultiColumn { get; set; }
vb
<DefaultValue(DefaultBoolean.Default)>
Public Property MultiColumn As DefaultBoolean

Property Value

TypeDefaultDescription
DefaultBooleanDefault

A DefaultBoolean enumerator value that specifies whether or not items in this DXPopupMenu can be displayed in multiple columns.

|

Available values:

NameDescriptionReturn Value
True

The value is true.

|

0

| | False |

The value is false.

|

1

| | Default |

The value is specified by a global option or a higher-level object.

|

2

|

Remarks

By default, items in a DXPopupMenu whose DXPopupMenu.MenuViewType equals Menu , are arranged in a single column, one under the other. To arrange items in multiple columns, set the MultiColumn property to DefaultBoolean.True , then access the DXPopupMenu.OptionsMultiColumn property and specify the ColumnCount property to set the desired number of item columns.

Note

DXMenuHeaderItem objects are not affected by using a multi-column layout.

Example

The following code illustrates how to display a menu-styled DXPopupMenu on a right mouse click. All items in the menu are arranged in three columns, as illustrated in the figure below.

csharp
using DevExpress.Images;

namespace MultiColumnMenu {
    public partial class Form1 : XtraForm {
        public DXPopupMenu menu = new DXPopupMenu() { MenuViewType = MenuViewType.Menu};

        public Form1() {
            InitializeComponent();
            InitializeMenu();
        }

        public void InitializeMenu() {
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
            menu.Items.Add(new DXMenuHeaderItem() { Caption = "Text" });
            menu.Items.Add(new DXMenuItem("Cut", null, DevExpress.Images.ImageResourceCache.Default.GetImage("images/edit/cut_16x16.png")));
            menu.Items.Add(new DXMenuItem("Copy", null, DevExpress.Images.ImageResourceCache.Default.GetImage("images/edit/copy_16x16.png")));
            menu.Items.Add(new DXMenuItem("Paste", null, DevExpress.Images.ImageResourceCache.Default.GetImage("images/edit/paste_16x16.png")));
            menu.Items.Add(new DXMenuHeaderItem() {Caption="File"});
            menu.Items.Add(new DXMenuItem("New", null, DevExpress.Images.ImageResourceCache.Default.GetImage("images/actions/new_16x16.png")));
            menu.Items.Add(new DXMenuItem("Open", null, DevExpress.Images.ImageResourceCache.Default.GetImage("images/actions/open_16x16.png")));
            menu.Items.Add(new DXMenuItem("Save", null, DevExpress.Images.ImageResourceCache.Default.GetImage("images/save/save_16x16.png")));
            menu.MultiColumn = DevExpress.Utils.DefaultBoolean.True;
            menu.OptionsMultiColumn.ColumnCount = 3;
            menu.OptionsMultiColumn.ShowItemText = DevExpress.Utils.DefaultBoolean.True;
        }

        private void memoEdit1_MouseUp(object sender, MouseEventArgs e) {
            if (e.Button == System.Windows.Forms.MouseButtons.Right) {
                ((IDXDropDownControl)menu).Show(ribbonControl1, this, e.Location);
            }
        }
    }
}
vb
Imports DevExpress.Images

Namespace MultiColumnMenu
    Partial Public Class Form1
        Inherits XtraForm

        Public menu As New DXPopupMenu() With {.MenuViewType = MenuViewType.RibbonMiniToolbar}

        Public Sub New()
            InitializeComponent()
            InitializeMenu()
        End Sub

        Public Sub InitializeMenu()
            Dim resources As New System.ComponentModel.ComponentResourceManager(GetType(Form1))
            menu.Items.Add(New DXMenuHeaderItem() With {.Caption = "Text"})
            menu.Items.Add(New DXMenuItem("Cut", Nothing, DevExpress.Images.ImageResourceCache.Default.GetImage("images/edit/cut_16x16.png")))
            menu.Items.Add(New DXMenuItem("Copy", Nothing, DevExpress.Images.ImageResourceCache.Default.GetImage("images/edit/copy_16x16.png")))
            menu.Items.Add(New DXMenuItem("Paste", Nothing, DevExpress.Images.ImageResourceCache.Default.GetImage("images/edit/paste_16x16.png")))
            menu.Items.Add(New DXMenuHeaderItem() With {.Caption="File"})
            menu.Items.Add(New DXMenuItem("New", Nothing, DevExpress.Images.ImageResourceCache.Default.GetImage("images/actions/new_16x16.png")))
            menu.Items.Add(New DXMenuItem("Open", Nothing, DevExpress.Images.ImageResourceCache.Default.GetImage("images/actions/open_16x16.png")))
            menu.Items.Add(New DXMenuItem("Save", Nothing, DevExpress.Images.ImageResourceCache.Default.GetImage("images/save/save_16x16.png")))
            menu.MultiColumn = DevExpress.Utils.DefaultBoolean.True
            menu.OptionsMultiColumn.ColumnCount = 3
            menu.OptionsMultiColumn.ShowItemText = DevExpress.Utils.DefaultBoolean.True
        End Sub

        Private Sub memoEdit1_MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs)
            If e.Button = System.Windows.Forms.MouseButtons.Right Then
                CType(menu, IDXDropDownControl).Show(ribbonControl1, Me, e.Location)
            End If
        End Sub
    End Class
End Namespace

See Also

DXPopupMenu Class

DXPopupMenu Members

DevExpress.Utils.Menu Namespace