DateRangeEventHandler-Delegat
Stellt die Methode dar, die das DateChanged-Ereignis oder das DateSelected-Ereignis eines MonthCalendar behandelt.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Delegate Sub DateRangeEventHandler ( _
sender As Object, _
e As DateRangeEventArgs _
)
'Usage
Dim instance As New DateRangeEventHandler(AddressOf HandlerMethod)
public delegate void DateRangeEventHandler (
Object sender,
DateRangeEventArgs e
)
public delegate void DateRangeEventHandler (
Object^ sender,
DateRangeEventArgs^ e
)
/** @delegate */
public delegate void DateRangeEventHandler (
Object sender,
DateRangeEventArgs e
)
JScript unterstützt die Verwendung von Delegaten, aber nicht die Deklaration von neuen Delegaten.
Parameter
- sender
Die Quelle des Ereignisses.
- e
Ein DateRangeEventArgs, das die Ereignisdaten enthält.
Hinweise
Beim Erstellen eines DateRangeEventArgs-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Um das Ereignis dem Ereignishandler zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen über Ereignishandlerdelegaten finden Sie unter Ereignisse und Delegaten.
Beispiel
Im folgenden Beispiel wird ein Formular angezeigt, das ein MonthCalendar-Steuerelement enthält, in dem ein Kalenderjahr angezeigt wird. Im Beispiel wird das Festlegen von Eigenschaften wie BackColor, ForeColor, TitleBackColor, TitleForeColor, CalendarDimensions und TrailingForeColor veranschaulicht, um das Aussehen des Kalendersteuerelements anzupassen. Andere Eigenschaften, z. B. AnnuallyBoldedDates, BoldedDates und MonthlyBoldedDates, werden so festgelegt, dass durch sie benutzerdefiniert bestimmt wird, welche Daten fett formatiert werden. Im Beispiel werden außerdem Eigenschaften zum Ändern des Kalenderformats festgelegt, einschließlich FirstDayOfWeek, MaxDate, MinDate und MaxSelectionCount. Das DateSelected-Ereignis und das DateChanged-Ereignis werden ebenfalls behandelt, und ihr Status wird im Formular angezeigt.
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
using System;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.MonthCalendar monthCalendar1;
private System.Windows.Forms.TextBox textBox1;
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.textBox1.Location = new System.Drawing.Point(48, 488);
this.textBox1.Multiline = true;
this.textBox1.ReadOnly = true;
this.textBox1.Size = new System.Drawing.Size(824, 32);
// Create the calendar.
this.monthCalendar1 = new System.Windows.Forms.MonthCalendar();
// Set the calendar location.
this.monthCalendar1.Location = new System.Drawing.Point(47, 16);
// Change the color.
this.monthCalendar1.BackColor = System.Drawing.SystemColors.Info;
this.monthCalendar1.ForeColor = System.Drawing.Color.FromArgb(
((System.Byte)(192)), ((System.Byte)(0)), ((System.Byte)(192)));
this.monthCalendar1.TitleBackColor = System.Drawing.Color.Purple;
this.monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;
this.monthCalendar1.TrailingForeColor = System.Drawing.Color.FromArgb(
((System.Byte)(192)), ((System.Byte)(192)), ((System.Byte)(0)));
// Add dates to the AnnuallyBoldedDates array.
this.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.
this.monthCalendar1.BoldedDates = new System.DateTime[] {new System.DateTime(2002, 9, 26, 0, 0, 0, 0)};
// Add dates to MonthlyBoldedDates array.
this.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.
this.monthCalendar1.CalendarDimensions = new System.Drawing.Size(4, 3);
// Set week to begin on Monday.
this.monthCalendar1.FirstDayOfWeek = System.Windows.Forms.Day.Monday;
// Set the maximum visible date on the calendar to 12/31/2010.
this.monthCalendar1.MaxDate = new System.DateTime(2010, 12, 31, 0, 0, 0, 0);
// Set the minimum visible date on calendar to 12/31/2010.
this.monthCalendar1.MinDate = new System.DateTime(1999, 1, 1, 0, 0, 0, 0);
// Only allow 21 days to be selected at the same time.
this.monthCalendar1.MaxSelectionCount = 21;
// Set the calendar to move one month at a time when navigating using the arrows.
this.monthCalendar1.ScrollChange = 1;
// Do not show the "Today" banner.
this.monthCalendar1.ShowToday = false;
// Do not circle today's date.
this.monthCalendar1.ShowTodayCircle = false;
// Show the week numbers to the left of each week.
this.monthCalendar1.ShowWeekNumbers = true;
// Add event handlers for the DateSelected and DateChanged events
this.monthCalendar1.DateSelected += new System.Windows.Forms.DateRangeEventHandler(this.monthCalendar1_DateSelected);
this.monthCalendar1.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.ClientSize = new System.Drawing.Size(920, 566);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1, this.monthCalendar1});
this.Text = "Month Calendar Example";
}
private void monthCalendar1_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
this.textBox1.Text = "Date Selected: Start = " +
e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString();
}
private void monthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
// Show the start and end dates in the text box.
this.textBox1.Text = "Date Changed: Start = " +
e.Start.ToShortDateString() + " : End = " + e.End.ToShortDateString();
}
}
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::MonthCalendar^ monthCalendar1;
System::Windows::Forms::TextBox^ textBox1;
public:
Form1()
{
this->textBox1 = gcnew System::Windows::Forms::TextBox;
this->textBox1->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
this->textBox1->Location = System::Drawing::Point( 48, 488 );
this->textBox1->Multiline = true;
this->textBox1->ReadOnly = true;
this->textBox1->Size = System::Drawing::Size( 824, 32 );
// Create the calendar.
this->monthCalendar1 = gcnew System::Windows::Forms::MonthCalendar;
// Set the calendar location.
this->monthCalendar1->Location = System::Drawing::Point( 47, 16 );
// Change the color.
this->monthCalendar1->BackColor = System::Drawing::SystemColors::Info;
this->monthCalendar1->ForeColor = System::Drawing::Color::FromArgb( ((System::Byte)(192)) ),((System::Byte)(0)),((System::Byte)(192));
this->monthCalendar1->TitleBackColor = System::Drawing::Color::Purple;
this->monthCalendar1->TitleForeColor = System::Drawing::Color::Yellow;
this->monthCalendar1->TrailingForeColor = System::Drawing::Color::FromArgb( ((System::Byte)(192)) ),((System::Byte)(192)),((System::Byte)(0));
// Add dates to the AnnuallyBoldedDates array.
array<System::DateTime>^ temp1 = {System::DateTime( 2002, 4, 20, 0, 0, 0, 0 ),System::DateTime( 2002, 4, 28, 0, 0, 0, 0 ),System::DateTime( 2002, 5, 5, 0, 0, 0, 0 ),System::DateTime( 2002, 7, 4, 0, 0, 0, 0 ),System::DateTime( 2002, 12, 15, 0, 0, 0, 0 ),System::DateTime( 2002, 12, 18, 0, 0, 0, 0 )};
this->monthCalendar1->AnnuallyBoldedDates = temp1;
// Add dates to BoldedDates array.
array<System::DateTime>^ temp2 = {System::DateTime( 2002, 9, 26, 0, 0, 0, 0 )};
this->monthCalendar1->BoldedDates = temp2;
// Add dates to MonthlyBoldedDates array.
array<System::DateTime>^ temp5 = {System::DateTime( 2002, 1, 15, 0, 0, 0, 0 ),System::DateTime( 2002, 1, 30, 0, 0, 0, 0 )};
this->monthCalendar1->MonthlyBoldedDates = temp5;
// Configure the calendar to display 3 rows by 4 columns of months.
this->monthCalendar1->CalendarDimensions = System::Drawing::Size( 4, 3 );
// Set week to begin on Monday.
this->monthCalendar1->FirstDayOfWeek = System::Windows::Forms::Day::Monday;
// Set the maximum visible date on the calendar to 12/31/2010.
this->monthCalendar1->MaxDate = System::DateTime( 2010, 12, 31, 0, 0, 0, 0 );
// Set the minimum visible date on calendar to 12/31/2010.
this->monthCalendar1->MinDate = System::DateTime( 1999, 1, 1, 0, 0, 0, 0 );
// Only allow 21 days to be selected at the same time.
this->monthCalendar1->MaxSelectionCount = 21;
// Set the calendar to move one month at a time when navigating using the arrows.
this->monthCalendar1->ScrollChange = 1;
// Do not show the S"Today" banner.
this->monthCalendar1->ShowToday = false;
// Do not circle today's date.
this->monthCalendar1->ShowTodayCircle = false;
// Show the week numbers to the left of each week.
this->monthCalendar1->ShowWeekNumbers = true;
// Add event handlers for the DateSelected and DateChanged events
this->monthCalendar1->DateSelected += gcnew System::Windows::Forms::DateRangeEventHandler( this, &Form1::monthCalendar1_DateSelected );
this->monthCalendar1->DateChanged += gcnew System::Windows::Forms::DateRangeEventHandler( this, &Form1::monthCalendar1_DateChanged );
// Set up how the form should be displayed and add the controls to the form.
this->ClientSize = System::Drawing::Size( 920, 566 );
array<System::Windows::Forms::Control^>^temp0 = {this->textBox1,this->monthCalendar1};
this->Controls->AddRange( temp0 );
this->Text = "Month Calendar Example";
}
private:
void monthCalendar1_DateSelected( Object^ /*sender*/, System::Windows::Forms::DateRangeEventArgs^ e )
{
// Show the start and end dates in the text box.
this->textBox1->Text = String::Format( "Date Selected: Start = {0} : End = {1}", e->Start.ToShortDateString(), e->End.ToShortDateString() );
}
void monthCalendar1_DateChanged( Object^ /*sender*/, System::Windows::Forms::DateRangeEventArgs^ e )
{
// Show the start and end dates in the text box.
this->textBox1->Text = String::Format( "Date Changed: Start = {0} : End = {1}", e->Start.ToShortDateString(), e->End.ToShortDateString() );
}
};
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
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
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
System.Windows.Forms-Namespace
DateRangeEventArgs-Klasse
MonthCalendar