SchedulerStorage.ReminderAlert Event
Occurs when a reminder alert is invoked.
Namespace: DevExpress.Xpf.Scheduler
Assembly: DevExpress.Xpf.Scheduler.v14.2.dll
#Declaration
#Event Data
The ReminderAlert event's handler receives an argument of the ReminderEventArgs type. The following properties provide information specific to this event:
Property | Description |
---|---|
Alert |
Gets any reminders currently triggered. |
#Remarks
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 simultaneously. 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.
#Examples
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){
// Add your custom action. For example, show the Reminders form.
RemindersForm form = new RemindersForm(schedulerControl1);
form.OnReminderAlert(e.AlertNotifications);
}