SchedulerControl.RemindersFormShowing Event
Occurs before the Reminders form is displayed.
Namespace: DevExpress.XtraScheduler
Assembly: DevExpress.XtraScheduler.v24.2.dll
Declaration
Event Data
The RemindersFormShowing event's data class is RemindersFormEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
AlertNotifications | Gets any reminders currently triggered. |
DialogResult | Gets or sets the return value of a dialog box. Inherited from ShowFormEventArgs. |
Handled | Gets or sets whether an event was handled, if it was handled the default actions are not required. Inherited from ShowFormEventArgs. |
Parent | Gets or sets a parent of the form being shown. Inherited from ShowFormEventArgs. |
Remarks
The XtraScheduler control supports reminders for appointments. A reminder can be invoked a specific interval before an appointment’s start time. If the SchedulerOptionsBehaviorBase.ShowRemindersForm property is set to true, the Reminders form is displayed when a reminder is invoked. This form contains all the reminders invoked at this time.
The RemindersFormShowing event fires before the Reminders form is displayed. It allows the default Reminders form to be replaced with a custom form. The reminders currently invoked can be accessed via the AlertNotifications parameter.
Set the Handled parameter to true to prevent the default Reminders form from being invoked after the event handler has completed.
The DialogResult parameter is ignored for the RemindersFormShowing event.
NB. It’s also possible to respond to reminders being invoked by handling the SchedulerStorageBase.ReminderAlert event. It occurs even if the SchedulerOptionsBehaviorBase.ShowRemindersForm property is set to false and does not require the SchedulerControl. So you can implement reminder functionality without a visible scheduler.
This code snippet illustrates how you can invoke the Reminders form from within the SchedulerControl.RemindersFormShowing
event handler and exclude alerts from it based on certain conditions.
using DevExpress.XtraScheduler;
using DevExpress.XtraScheduler.Forms;
void schedulerControl1_RemindersFormShowing(object sender, RemindersFormEventArgs e)
{
ReminderAlertNotificationCollection alerts = new ReminderAlertNotificationCollection();
foreach (ReminderAlertNotification alert in e.AlertNotifications) {
if (alert.ActualAppointment.StatusKey.ToString() == "1")
alerts.Add(alert);
}
if (alerts.Count > 0) {
RemindersForm remindersForm = new RemindersForm((SchedulerControl)sender);
ReminderEventArgs args = new ReminderEventArgs(alerts);
remindersForm.FormClosed += new FormClosedEventHandler(remindersForm_FormClosed);
remindersForm.OnReminderAlert(args);
}
e.Handled = true;
}