Custom Context Menus
- 2 minutes to read
You can use the TreeList.PopupMenuShowing event to display custom menus when a user right-clicks a specific tree list element.
Common concepts for custom context menus are listed in the following help topic: Custom Context Menus.
Example
The following code sample invokes a custom context menu when a user right-clicks a column header:
Add a BarManager to the form and create a custom PopupMenu as demonstrated in the following help topic: Popup Menus:
Handle the TreeList.PopupMenuShowing event and call the e.ShowCustomMenu method to display your custom menu instead of the default menu.
void TreeList1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) {
if (e.MenuType == TreeListMenuType.Column) {
popupMenu_Column.Tag = e.HitInfo;
popupMenu_Column.MenuCaption = $"{e.HitInfo.Column}";
e.ShowCustomMenu(popupMenu_Column);
}
}
TreeListHitInfo GetHitInfo(BarItemLink link) {
PopupMenu menu = link.LinkedObject as PopupMenu;
return menu.Tag as TreeListHitInfo;
}
void barButtonItem_Filter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
TreeListHitInfo info = GetHitInfo(e.Link);
info.Column.TreeList.ShowFilterEditor(info.Column);
}
void barButtonItem_ColumnChooser_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) {
TreeListHitInfo info = GetHitInfo(e.Link);
info.Column.TreeList.ShowCustomization();
}
See Also