Back to Devexpress

SchedulerControl.RemindersFormShowing Event

windowsforms-devexpress-dot-xtrascheduler-dot-schedulercontrol-0a06bf44.md

latest5.8 KB
Original Source

SchedulerControl.RemindersFormShowing Event

Occurs before the Reminders form is displayed.

Namespace : DevExpress.XtraScheduler

Assembly : DevExpress.XtraScheduler.v25.2.dll

NuGet Package : DevExpress.Win.Scheduler

Declaration

csharp
public event RemindersFormEventHandler RemindersFormShowing
vb
Public Event RemindersFormShowing As RemindersFormEventHandler

Event Data

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

PropertyDescription
AlertNotificationsGets any reminders currently triggered.
DialogResultGets or sets the return value of a dialog box. Inherited from ShowFormEventArgs.
HandledGets or sets whether an event was handled, if it was handled the default actions are not required. Inherited from ShowFormEventArgs.
ParentGets 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.

csharp
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;
        }
vb
Imports DevExpress.XtraScheduler
Imports DevExpress.XtraScheduler.Forms
        Private Sub schedulerControl1_RemindersFormShowing(ByVal sender As Object, ByVal e As RemindersFormEventArgs)
            Dim alerts As New ReminderAlertNotificationCollection()
            For Each alert As ReminderAlertNotification In e.AlertNotifications
                If alert.ActualAppointment.StatusKey.ToString() = "1" Then
                    alerts.Add(alert)
                End If
            Next alert
            If alerts.Count > 0 Then
                Dim remindersForm As New RemindersForm(DirectCast(sender, SchedulerControl))
                Dim args As New ReminderEventArgs(alerts)
                AddHandler remindersForm.FormClosed, AddressOf remindersForm_FormClosed
                remindersForm.OnReminderAlert(args)
            End If
            e.Handled = True
        End Sub

See Also

ReminderAlert

ShowRemindersForm

SchedulerControl Class

SchedulerControl Members

DevExpress.XtraScheduler Namespace