windowsforms-3310-controls-and-libraries-scheduler-examples-reminders-how-to-handle-reminder-alerts-in-code.md
The following example demonstrates how to manually handle reminders and perform a custom action when the SchedulerStorageBase.ReminderAlert event is fired.
// Handle this event to perform a custom action when a reminder alert is fired.
schedulerStorage1.ReminderAlert += SchedulerStorage1_ReminderAlert;
// Specify the interval at which the reminder is polled for alert.
schedulerStorage1.RemindersCheckInterval = checkInterval * 1000;
// Hide the reminder alert window.
schedulerControl1.OptionsBehavior.ShowRemindersForm = false;
private void SchedulerStorage1_ReminderAlert(object sender, ReminderEventArgs e) {
// Create a new appointment.
Appointment app = schedulerStorage1.CreateAppointment(AppointmentType.Normal);
app.Subject = "Created on alert from appointment w/Price = " + e.AlertNotifications[0].ActualAppointment.CustomFields["CustomPrice"];
app.Start = e.AlertNotifications[0].ActualAppointment.Start.AddHours(2);
app.Duration = TimeSpan.FromHours(4);
schedulerStorage1.Appointments.Add(app);
// Modify the appointment for which the alert is triggered.
e.AlertNotifications[0].ActualAppointment.LabelKey = 3;
// Prevent the event from being fired one more time.
e.AlertNotifications[0].ActualAppointment.Reminder.Dismiss();
}
' Handle this event to perform a custom action when a reminder alert is fired.
AddHandler schedulerStorage1.ReminderAlert, AddressOf SchedulerStorage1_ReminderAlert
' Specify the interval at which the reminder is polled for alert.
schedulerStorage1.RemindersCheckInterval = checkInterval * 1000
' Hide the reminder alert window.
schedulerControl1.OptionsBehavior.ShowRemindersForm = False
Private Sub SchedulerStorage1_ReminderAlert(ByVal sender As Object, ByVal e As ReminderEventArgs)
' Create a new appointment.
Dim app As Appointment = schedulerStorage1.CreateAppointment(AppointmentType.Normal)
app.Subject = "Created on alert from appointment w/Price = " + e.AlertNotifications(0).ActualAppointment.CustomFields("CustomPrice").ToString()
app.Start = e.AlertNotifications(0).ActualAppointment.Start.AddHours(2)
app.Duration = TimeSpan.FromHours(4)
schedulerStorage1.Appointments.Add(app)
' Modify the appointment for which the alert is triggered.
e.AlertNotifications(0).ActualAppointment.LabelKey = 3
' Prevent the event from being fired one more time.
e.AlertNotifications(0).ActualAppointment.Reminder.Dismiss()
End Sub
Tip
A complete sample project is available in the DevExpress Code Examples database at https://supportcenter.devexpress.com/ticket/details/e382/winforms-scheduler-create-an-appointment-with-custom-fields-reccurrence-and-reminders.