Skip to main content

SchedulerStorage.ReminderAlert Event

Occurs when a reminder alert is invoked.

Namespace: DevExpress.Xpf.Scheduler

Assembly: DevExpress.Xpf.Scheduler.v23.2.dll

NuGet Package: DevExpress.Wpf.Scheduler

Declaration

public event ReminderEventHandler ReminderAlert

Event Data

The ReminderAlert event's data class is ReminderEventArgs. The following properties provide information specific to this event:

Property Description
AlertNotifications Gets any reminders currently triggered.

Remarks

Important

You are viewing documentation for the legacy WPF Scheduler control. If you’re starting a new project, we strongly recommend that you use a new control declared in the DevExpress.Xpf.Scheduling namespace. If you decide to upgrade an existing project in order to switch to the updated scheduler control, see the Migration Guidelines document.

A Scheduler control supports reminders for appointments. A reminder can be invoked at a specific time interval before an appointment’s start time. When the reminder alerts, the ReminderAlert event fires. Handle this event to perform specific actions when a reminder is activated. For instance, play a sound or post specific data to a database server, etc.

Note that multiple reminders can be raised at the same time. To get these reminders, use the event’s ReminderEventArgs.AlertNotifications parameter. It holds a collection of notifications represented by ReminderAlertNotification objects. Each notification refers to the associated reminder and has a ReminderBaseAlertNotification.Handled property. Setting the Handled property to true indicates that this particular reminder is handled and that no default processing is required. For instance, you can postpone a reminder via the ReminderBase.Snooze method, and then set the Handled property to true. In this case, the reminder will not be affected after completion of your event handler processing. If the Handled property is false, the reminder will be automatically switched off via the ReminderBase.Dismiss method.

If the OptionsBehavior.ShowRemindersForm property is true, a notification form is displayed when a reminder is invoked. Before the form is displayed, the SchedulerControl.RemindersFormShowing event is raised, and this allows you to display a custom form instead of a standard one.

Example

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

using System;
using System.Windows;
using DevExpress.XtraScheduler;
using DevExpress.Xpf.Scheduler.UI;
// ...

private void button1_Click(object sender, RoutedEventArgs e) {
    // Remove all appointments.
    schedulerControl1.Storage.AppointmentStorage.Clear();        

    // Add a new appointment with a reminder.
    schedulerControl1.Storage.AppointmentStorage.Add(CreateAppointmentWithReminder());

    // Set time interval to check for active reminders to 3 seconds.
    schedulerControl1.Storage.RemindersCheckInterval = 3000;
}

private Appointment CreateAppointmentWithReminder() {
    // Create a new appointment and set its properties.
    Appointment apt = new Appointment(DateTime.Today, TimeSpan.FromHours(1));
    apt.Subject = "Test appointment";
    apt.HasReminder = true;

    return apt;
}

private void SchedulerStorage_ReminderAlert(object sender, ReminderEventArgs e){
    RemindersForm form = new RemindersForm(schedulerControl1);
    form.OnReminderAlert(e.AlertNotifications);
}
See Also