Back to Devexpress

SchedulerPopupMenu Class

windowsforms-devexpress-dot-xtrascheduler-fab6b743.md

latest5.7 KB
Original Source

SchedulerPopupMenu Class

Represents a popup (context) menu of the Scheduler.

Namespace : DevExpress.XtraScheduler

Assembly : DevExpress.XtraScheduler.v25.2.dll

NuGet Package : DevExpress.Win.Scheduler

Declaration

csharp
public class SchedulerPopupMenu :
    CommandPopupMenu<SchedulerMenuItemId>
vb
Public Class SchedulerPopupMenu
    Inherits CommandPopupMenu(Of SchedulerMenuItemId)

The following members return SchedulerPopupMenu objects:

Remarks

SchedulerPopupMenu objects are used to represent a context menu which is usually displayed when a user right-clicks a SchedulerControl. Popup menu items depend on the area of the Scheduler which was clicked, however, it’s also possible to customize these items on the SchedulerControl.PopupMenuShowing event.

Note

The list of standard and check menu items used in the Scheduler is represented by SchedulerMenuItemId enumeration members.

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.

csharp
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);
    }
}
vb
Imports DevExpress.XtraScheduler
' ...

Private Sub schedulerControl1_PopupMenuShowing(ByVal sender As Object, ByVal e As PopupMenuShowingEventArgs)
    ' Check if it's the default menu of a Scheduler.
    If e.Menu.Id = SchedulerMenuItemId.DefaultMenu Then

        ' 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.
        Dim item As SchedulerMenuItem = e.Menu.GetMenuItemById(SchedulerMenuItemId.NewAppointment)
        If Not item Is Nothing Then
        item.Caption = "&New Event"
        End If
    End If
    ' Check if it's the appointment menu.
    If e.Menu.Id = SchedulerMenuItemId.AppointmentMenu Then
      e.Menu.RemoveMenuItem(SchedulerMenuItemId.LabelSubMenu)
      e.Menu.RemoveMenuItem(SchedulerMenuItemId.StatusSubMenu)
    End If
End Sub

Implements

IDXDropDownControl

Inheritance

Object DXMenuItem DXSubMenuItem DXPopupMenu CommandPopupMenu<SchedulerMenuItemId> SchedulerPopupMenu

See Also

SchedulerPopupMenu Members

SchedulerMenuItem

SchedulerMenuCheckItem

DevExpress.XtraScheduler Namespace