property Schedule.DateEvents (Date as Variant) as Variant
Returns a safe array of Event objects in a giving date.

TypeDescription
Date as Variant A DATE expression that specifies the date/day to be queried for events
Variant A Safe array of Event objects being shown in the specified date.
The DateEvents property returns a collection of events in the specified date. The /NET and /WPF versions of the component provide the get_DateEvents function that retrieves a collection of Event objects, as List<Event>. The Start/End properties of the Event object indicates the margins of the events. Once the user starts selecting a new date in the calendar panel, the control fires the LayoutStartChanging(exCalendarSelectionChange). Once a new date is selected, the LayoutEndChanging(exCalendarSelectionChange) event occurs. The SingleSel property indicates whether the user can select one or multiple dates. The Events property of the Calendar object gets the date that hosts appointments/events. The VFP uses the TemplateDef and ExecuteTemplate methods to call the control's properties with parameters, as shown bellow at VFP section.

The following sample shows how you can enumerate the events within the selected date, once the LayoutEndChanging(exCalendarSelectionChange) event occurs.

VB

Private Sub Schedule1_LayoutEndChanging(ByVal Operation As EXSCHEDULELibCtl.LayoutChangingEnum)
    If Operation = exCalendarSelectionChange Then
        Dim d As Variant
        If (Schedule1.Calendar.SelCount = 1) Then
            For Each d In Schedule1.DateEvents(Schedule1.Calendar.SelDate(0))
                Debug.Print "Event: " & d.Start & " " & d.End
            Next
        End If
    End If
End Sub

VB/NET

Private Sub Exschedule1_LayoutEndChanging(ByVal sender As System.Object, ByVal Operation As exontrol.EXSCHEDULELib.LayoutChangingEnum) Handles Exschedule1.LayoutEndChanging
    If Operation = exontrol.EXSCHEDULELib.LayoutChangingEnum.exCalendarSelectionChange Then
        If (Exschedule1.Calendar.SelCount > 0) Then
            Dim evs As List(Of exontrol.EXSCHEDULELib.Event) = Exschedule1.get_DateEvents(Exschedule1.Calendar.get_SelDate(0))
            If Not evs Is Nothing Then
                For Each d As exontrol.EXSCHEDULELib.Event In evs
                    Debug.Print("Event: " & d.Start & " " & d.End)
                Next
            End If
        End If
    End If
End Sub

or:

Private Sub Exschedule1_LayoutEndChanging(ByVal sender As System.Object, ByVal Operation As exontrol.EXSCHEDULELib.LayoutChangingEnum) Handles Exschedule1.LayoutEndChanging
    If Operation = exontrol.EXSCHEDULELib.LayoutChangingEnum.exCalendarSelectionChange Then
        If (Exschedule1.Calendar.SelCount > 0) Then
            Dim evs As List(Of exontrol.EXSCHEDULELib.Event) = Exschedule1.get_DateEvents(Exschedule1.Calendar.get_SelDate(0))
            If Not evs Is Nothing Then
                For Each d As exontrol.EXSCHEDULELib.Event In evs
                    Debug.Print("Event: " & d.Start & " " & d.End)
                Next
            End If
        End If
    End If
End Sub

C#

private void exschedule1_LayoutEndChanging(object sender, exontrol.EXSCHEDULELib.LayoutChangingEnum Operation)
{
    if ( Operation == exontrol.EXSCHEDULELib.LayoutChangingEnum.exCalendarSelectionChange  )
        if ( exschedule1.Calendar.SelCount == 1 )
        {
            List<exontrol.EXSCHEDULELib.Event> evs = exschedule1.get_DateEvents(exschedule1.Calendar.get_SelDate(0));
            if ( evs != null )
                foreach (exontrol.EXSCHEDULELib.Event d in evs)
                    System.Diagnostics.Debug.Print("Event: " + d.Start.ToString() + " " + d.Start.ToString());
        }
}

VFP

*** ActiveX Control Event ***
LPARAMETERS operation
*	1 ' exCalendarSelectionChange
    If Operation = 1 Then
    	IF ( thisform.Schedule1.Calendar.SelCount = 1 ) Then
			local e, evs as Object
			
			thisform.Schedule1.TemplateDef = "dim d"
			thisform.Schedule1.TemplateDef = thisform.Schedule1.Calendar.SelDate(0)
			evs = thisform.Schedule1.ExecuteTemplate("DateEvents(d)")
			For Each e In evs
				LOCAL ee as Object
				ee = thisform.Schedule1.Events(e)
				WAIT WINDOW TTOC(ee.Start) + " " + TTOC(ee.End)
			ENDFOR
		ENDif
    EndIf

C++

void LayoutEndChangingSchedule1(long Operation)
{
	if ( Operation == EXSCHEDULELib::exCalendarSelectionChange )
		if ( m_spSchedule->Calendar->SelCount == 1 )
		{
			_variant_t evs;
			if ( SUCCEEDED( m_spSchedule->get_DateEvents( _variant_t( m_spSchedule->Calendar->SelDate[0], VT_DATE ), &evs ) ) )
				if ( V_VT( &evs ) == ( VT_ARRAY | VT_VARIANT ) )
				{
					BYTE* p = NULL;
					long nCount = 0;
					if ( SUCCEEDED( SafeArrayGetUBound( V_ARRAY( &evs ), 1, &nCount ) ) )
					{
						if ( SUCCEEDED( SafeArrayAccessData( V_ARRAY( &evs ), (LPVOID*)&p ) ) )
						{
							for ( long i = 0; i < nCount + 1; i++, p += sizeof(VARIANT) )
							{
								VARIANT* pValue = (VARIANT*)p;
								if ( V_VT( pValue ) == VT_DISPATCH )
								{
									EXSCHEDULELib::IEventPtr spEvent = V_DISPATCH( pValue );
									CString strMessage;
									strMessage.Format( _T("Event: %f %f\r\n"), spEvent->Start, spEvent->End );
									OutputDebugString( strMessage );
								}
							}
							SafeArrayUnaccessData( V_ARRAY( &evs ) );
						}
					}
				}
		}
}

where m_spSchedule is of EXSCHEDULELib::ISchedulePtr type.