Back to Devexpress

How to: Handle Reminder Alerts in Code

windowsforms-3310-controls-and-libraries-scheduler-examples-reminders-how-to-handle-reminder-alerts-in-code.md

latest3.2 KB
Original Source

How to: Handle Reminder Alerts in Code

  • Oct 03, 2023
  • 2 minutes to read

The following example demonstrates how to manually handle reminders and perform a custom action when the SchedulerStorageBase.ReminderAlert event is fired.

View Example

csharp
// 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();
}
vb
' 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.