SchedulerControl.PrepareContextMenu Event
OBSOLETE
You should use the 'PopupMenuShowing' instead
This member is obsolete. Handle the SchedulerControl.PopupMenuShowing event instead.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v24.2.dll
Declaration
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[Obsolete("You should use the 'PopupMenuShowing' instead", false)]
public event PrepareContextMenuEventHandler PrepareContextMenu
Event Data
The PrepareContextMenu event's data class is PrepareContextMenuEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Allow | Gets or sets whether to enable the popup menu. Inherited from PopupMenuShowingEventArgs. |
HitInfo | Gets an object that identifies the menu UI element that the user clicked on. Inherited from PopupMenuShowingEventArgs. |
Menu | Gets or sets the popup (context) menu for which this event was raised. Inherited from PopupMenuShowingEventArgs. |
MenuType | Gets the type of the popup menu. Inherited from PopupMenuShowingEventArgs. |
Point | Gets the position to invoke the popup menu. Inherited from PopupMenuShowingEventArgs. |
Example
This example demonstrates how to customize the SchedulerControl‘s popup menus (the SchedulerMenuItemId.DefaultMenu in this case). To change particular items in a popup menu handle the SchedulerControl.PopupMenuShowing event of a Scheduler Control.
using DevExpress.XtraScheduler;
// ...
private void schedulerControl1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
// Check if it's the default menu of a Scheduler.
if (e.Menu.Id == SchedulerMenuItemId.DefaultMenu)
{
// Disable the "New Recurring Appointment" menu item.
e.Menu.DisableMenuItem(SchedulerMenuItemId.NewRecurringAppointment);
// Hide the "New Recurring Event" menu item.
e.Menu.RemoveMenuItem(SchedulerMenuItemId.NewRecurringEvent);
// Enable the "Go To Today" menu item.
e.Menu.EnableMenuItem(SchedulerMenuItemId.GotoToday);
// Find the "New Appointment" menu item and rename it.
SchedulerMenuItem item = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewAppointment);
if (item != null) item.Caption = "&New Event";
}
// Check if it's the appointment menu.
if(e.Menu.Id == SchedulerMenuItemId.AppointmentMenu) {
e.Menu.RemoveMenuItem(SchedulerMenuItemId.LabelSubMenu);
e.Menu.RemoveMenuItem(SchedulerMenuItemId.StatusSubMenu);
}
}
See Also