VB.NET, C#
This sample demonstrates how to create a zoomable agenda-style calendar with appointments.
Derive from the WinCalendar class.
Use the GetDayRectangle method.
Override the DefaultEnableMultipleMonths property.
Override the OnPaintWeekDayName method.
Override the OnPaintDay method.
Override the OnSizeChanged method to zoom the calendar.
Use the RenderStyle property of the PaintWeekDayNameEventArgs class.
Resizing the calendar will zoom-in/out. Double-clicking on a day that has an appointment(s) will open a dropdown with the scheduled appointments for the day. New appointments can be added programmatically by creating a new instance of the Appointment class and adding it to the calendar's Appointments collection.
C#: Xceed Samples\Xceed Editors for WinForms v#.#\CSharp\StretchableAgenda\StretchableAgenda.csproj
VB.NET: Xceed Samples\Xceed Editors for WinForms v#.#\Visual Basic .NET\StretchableAgenda\StretchableAgenda.vbproj