Skip to main content

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.v23.2.dll

NuGet Package: DevExpress.Win.Scheduler

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