Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

MonthlyRecurrenceControl Class

The control to set recurrence options for monthly recurring appointments.

Namespace: DevExpress.XtraScheduler.UI

Assembly: DevExpress.XtraScheduler.v24.2.dll

NuGet Package: DevExpress.Win.Scheduler

#Declaration

[ComVisible(false)]
public class MonthlyRecurrenceControl :
    RecurrenceControlBase

#Remarks

The control enables you to specify the RecurrenceInfo.DayNumber, RecurrenceInfo.WeekOfMonth, RecurrenceInfo.WeekDays, RecurrenceInfo.Range and RecurrenceInfo.OccurrenceCount values for the recurrence of the RecurrenceType.Monthly type.

Use the RecurrenceControlBase.RecurrenceInfo property to specify the recurrence settings. The RecurrenceControlBase.UpdateControls method forces the control to display its current settings.

When a user performs a selection, the RecurrenceInfo object of the control is changed and RecurrenceControlBase.RecurrenceInfoChanged event is fired.

The common appearance of the MonthlyRecurrenceControl is shown in the picture below.

MonthlyRecurrenceControl

#Example

The code below is an example of the custom recurring appointment editing form. Invoke it for recurring appointments. This form allows you to change recurrence options. To change start/end times and durations, add other controls to the form.

Handle the SchedulerControl.EditAppointmentFormShowing event to invoke a custom form instead of the default AppointmentForm.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CustomRecurrenceFormWinFormSample
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
See Also