DateRangeEventArgs Class
Assembly: System.Windows.Forms (in system.windows.forms.dll)
The DateChanged event occurs when the currently selected date or range of dates changes; for example, when the user explicitly changes a selection within the current month or when the selection is implicitly changed in response to next/previous month navigation. The DateSelected event occurs when the user explicitly changes a selection. The DateRangeEventArgs constructor specifies the start and end for the new date range that has been selected.
For more information about handling events, see Consuming Events.
The following example displays a form containing a MonthCalendar control that displays one calendar year. The example demonstrates setting properties like BackColor, ForeColor, TitleBackColor, TitleForeColor, CalendarDimensions, and TrailingForeColor to customize the look of the calendar control. Other properties like AnnuallyBoldedDates, BoldedDates, and MonthlyBoldedDates are set to customize which dates are bolded. The example also sets properties to change the calendar format, including FirstDayOfWeek, MaxDate, MinDate, and MaxSelectionCount. The DateSelected and DateChanged events are also handled and their status displayed on the form.
Imports System Imports System.Drawing Imports System.Windows.Forms Public NotInheritable Class Form1 Inherits System.Windows.Forms.Form Friend WithEvents MonthCalendar1 As System.Windows.Forms.MonthCalendar Friend WithEvents TextBox1 As System.Windows.Forms.TextBox <System.STAThread()> _ Public Shared Sub Main() System.Windows.Forms.Application.Run(New Form1) End Sub 'Main Public Sub New() MyBase.New() Me.TextBox1 = New System.Windows.Forms.TextBox Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle Me.TextBox1.Location = New System.Drawing.Point(48, 488) Me.TextBox1.Multiline = True Me.TextBox1.ReadOnly = True Me.TextBox1.Size = New System.Drawing.Size(824, 32) ' Create the calendar. Me.MonthCalendar1 = New System.Windows.Forms.MonthCalendar ' Set the calendar location. Me.MonthCalendar1.Location = New System.Drawing.Point(47, 16) ' Change the color. Me.MonthCalendar1.BackColor = System.Drawing.SystemColors.Info Me.MonthCalendar1.ForeColor = System.Drawing.Color.FromArgb( _ CType(192, System.Byte), CType(0, System.Byte), CType(192, System.Byte)) Me.MonthCalendar1.TitleBackColor = System.Drawing.Color.Purple Me.MonthCalendar1.TitleForeColor = System.Drawing.Color.Yellow Me.MonthCalendar1.TrailingForeColor = System.Drawing.Color.FromArgb( _ CType(192, System.Byte), CType(192, System.Byte), CType(0, System.Byte)) ' Add dates to the AnnuallyBoldedDates array. Me.MonthCalendar1.AnnuallyBoldedDates = New System.DateTime() _ {New System.DateTime(2002, 4, 20, 0, 0, 0, 0), _ New System.DateTime(2002, 4, 28, 0, 0, 0, 0), _ New System.DateTime(2002, 5, 5, 0, 0, 0, 0), _ New System.DateTime(2002, 7, 4, 0, 0, 0, 0), _ New System.DateTime(2002, 12, 15, 0, 0, 0, 0), _ New System.DateTime(2002, 12, 18, 0, 0, 0, 0)} ' Add dates to BoldedDates array. Me.MonthCalendar1.BoldedDates = New System.DateTime() {New System.DateTime(2002, 9, 26, 0, 0, 0, 0)} ' Add dates to MonthlyBoldedDates array. Me.MonthCalendar1.MonthlyBoldedDates = New System.DateTime() _ {New System.DateTime(2002, 1, 15, 0, 0, 0, 0), _ New System.DateTime(2002, 1, 30, 0, 0, 0, 0)} ' Configure the calendar to display 3 rows by 4 columns of months. Me.MonthCalendar1.CalendarDimensions = New System.Drawing.Size(4, 3) ' Set the week to begin on Monday. Me.MonthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday ' Sets the maximum visible date on the calendar to 12/31/2010. Me.MonthCalendar1.MaxDate = New System.DateTime(2010, 12, 31, 0, 0, 0, 0) ' Set the minimum visible date on the calendar to 12/31/2010. Me.MonthCalendar1.MinDate = New System.DateTime(1999, 1, 1, 0, 0, 0, 0) ' Only allow 21 days to be selected at the same time. Me.MonthCalendar1.MaxSelectionCount = 21 ' Set the calendar to move one month at a time when navigating using the arrows. Me.MonthCalendar1.ScrollChange = 1 ' Do not show the "Today" banner. Me.MonthCalendar1.ShowToday = False ' Do not circle today's date. Me.MonthCalendar1.ShowTodayCircle = False ' Show the week numbers to the left of each week. Me.MonthCalendar1.ShowWeekNumbers = True ' Set up how the form should be displayed and add the controls to the form. Me.ClientSize = New System.Drawing.Size(920, 566) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.TextBox1, Me.MonthCalendar1}) Me.Text = "Month Calendar Example" End Sub Private Sub monthCalendar1_DateSelected(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateSelected ' Show the start and end dates in the text box. Me.TextBox1.Text = "Date Selected: Start = " + _ e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString() End Sub Private Sub monthCalendar1_DateChanged(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged ' Show the start and end dates in the text box. Me.TextBox1.Text = "Date Changed: Start = " + _ e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString() End Sub End Class
import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;
public class Form1 extends System.Windows.Forms.Form
{
private System.Windows.Forms.MonthCalendar monthCalendar1;
private System.Windows.Forms.TextBox textBox1;
/** @attribute STAThread()
*/
public static void main(String[] args)
{
Application.Run(new Form1());
} //main
public Form1()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox1.set_BorderStyle(
System.Windows.Forms.BorderStyle.FixedSingle);
this.textBox1.set_Location(new System.Drawing.Point(48, 488));
this.textBox1.set_Multiline(true);
this.textBox1.set_ReadOnly(true);
this.textBox1.set_Size(new System.Drawing.Size(824, 32));
// Create the calendar.
this.monthCalendar1 = new System.Windows.Forms.MonthCalendar();
// Set the calendar location.
this.monthCalendar1.set_Location(new System.Drawing.Point(47, 16));
// Change the color.
this.monthCalendar1.set_BackColor(
System.Drawing.SystemColors.get_Info());
this.monthCalendar1.set_ForeColor(
System.Drawing.Color.FromArgb(192, 0, 192));
this.monthCalendar1.set_TitleBackColor(System.Drawing.Color.get_Purple());
this.monthCalendar1.set_TitleForeColor(System.Drawing.Color.get_Yellow());
this.monthCalendar1.set_TrailingForeColor(
System.Drawing.Color.FromArgb(192, 192, 0));
// Add dates to the AnnuallyBoldedDates array.
this.monthCalendar1.set_AnnuallyBoldedDates(new System.DateTime[] {
new System.DateTime(2002, 4, 20, 0, 0, 0, 0),
new System.DateTime(2002, 4, 28, 0, 0, 0, 0),
new System.DateTime(2002, 5, 5, 0, 0, 0, 0),
new System.DateTime(2002, 7, 4, 0, 0, 0, 0),
new System.DateTime(2002, 12, 15, 0, 0, 0, 0),
new System.DateTime(2002, 12, 18, 0, 0, 0, 0) });
// Add dates to BoldedDates array.
this.monthCalendar1.set_BoldedDates(new System.DateTime[] {
new System.DateTime(2002, 9, 26, 0, 0, 0, 0) });
// Add dates to MonthlyBoldedDates array.
this.monthCalendar1.set_MonthlyBoldedDates(new System.DateTime[] {
new System.DateTime(2002, 1, 15, 0, 0, 0, 0),
new System.DateTime(2002, 1, 30, 0, 0, 0, 0) });
// Configure the calendar to display 3 rows by 4 columns of months.
this.monthCalendar1.set_CalendarDimensions(new System.Drawing.Size(4, 3));
// Set week to begin on Monday.
this.monthCalendar1.set_FirstDayOfWeek(System.Windows.Forms.Day.Monday);
// Set the maximum visible date on the calendar to 12/31/2010.
this.monthCalendar1.set_MaxDate(
new System.DateTime(2010, 12, 31, 0, 0, 0, 0));
// Set the minimum visible date on calendar to 12/31/2010.
this.monthCalendar1.set_MinDate(
new System.DateTime(1999, 1, 1, 0, 0, 0, 0));
// Only allow 21 days to be selected at the same time.
this.monthCalendar1.set_MaxSelectionCount(21);
// Set the calendar to move one month at a time when navigating
// using the arrows.
this.monthCalendar1.set_ScrollChange(1);
// Do not show the "Today" banner.
this.monthCalendar1.set_ShowToday(false);
// Do not circle today's date.
this.monthCalendar1.set_ShowTodayCircle(false);
// Show the week numbers to the left of each week.
this.monthCalendar1.set_ShowWeekNumbers(true);
// Add event handlers for the DateSelected and DateChanged events
this.monthCalendar1.add_DateSelected(
new System.Windows.Forms.DateRangeEventHandler(
this.monthCalendar1_DateSelected));
this.monthCalendar1.add_DateChanged(
new System.Windows.Forms.DateRangeEventHandler(
this.monthCalendar1_DateChanged));
// Set up how the form should be displayed and add the controls to
// the form.
this.set_ClientSize(new System.Drawing.Size(920, 566));
this.get_Controls().AddRange(new System.Windows.Forms.Control[] {
this.textBox1, this.monthCalendar1 });
this.set_Text("Month Calendar Example");
} //Form1
private void monthCalendar1_DateSelected(Object sender,
System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
this.textBox1.set_Text("Date Selected: Start = "
+ e.get_Start().ToShortDateString() + " : End = "
+ e.get_End().ToShortDateString());
} //monthCalendar1_DateSelected
private void monthCalendar1_DateChanged(Object sender,
System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
this.textBox1.set_Text("Date Changed: Start = "
+ e.get_Start().ToShortDateString() + " : End = "
+ e.get_End().ToShortDateString());
} //monthCalendar1_DateChanged
} //Form1
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
Note