Back to Devexpress

SchedulerMenuItem Class

windowsforms-devexpress-dot-xtrascheduler-0225a031.md

latest5.4 KB
Original Source

SchedulerMenuItem Class

Represents an individual item that is displayed within a Scheduler ‘s popup (context) menu.

Namespace : DevExpress.XtraScheduler

Assembly : DevExpress.XtraScheduler.v25.2.dll

NuGet Package : DevExpress.Win.Scheduler

Declaration

csharp
public class SchedulerMenuItem :
    CommandMenuItem<SchedulerMenuItemId>
vb
Public Class SchedulerMenuItem
    Inherits CommandMenuItem(Of SchedulerMenuItemId)

The following members return SchedulerMenuItem objects:

Remarks

In order for a SchedulerMenuItem to be displayed, it must be added to the DXSubMenuItem.Items property of the SchedulerPopupMenu. To create check menu items use the instance of the SchedulerMenuCheckItem class instead.

Note

The list of standard menu items used in the Scheduler is represented by the SchedulerMenuItemId enumeration’s 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

Inheritance

Object DXMenuItem DevExpress.Utils.Menu.CommandMenuItem<SchedulerMenuItemId> SchedulerMenuItem

See Also

SchedulerMenuItem Members

SchedulerPopupMenu

SchedulerMenuCheckItem

DevExpress.XtraScheduler Namespace