次の方法で共有


DateRangeEventArgs クラス

MonthCalendar コントロールの DateChanged イベントまたは DateSelected イベントのデータを提供します。

この型のすべてのメンバの一覧については、DateRangeEventArgs メンバ を参照してください。

System.Object
   System.EventArgs
      System.Windows.Forms.DateRangeEventArgs

Public Class DateRangeEventArgs
   Inherits EventArgs
[C#]
public class DateRangeEventArgs : EventArgs
[C++]
public __gc class DateRangeEventArgs : public EventArgs
[JScript]
public class DateRangeEventArgs extends EventArgs

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

現在選択されている日付や日付範囲が変化すると、 DateChanged イベントが発生します。たとえば、選択されている日付をユーザーが現在の月の中で明示的に変更した場合や、翌月または前月に移動したことによって選択されている日付が変わってしまう場合に、このイベントが発生します。選択されている日付をユーザーが明示的に変更すると、 DateSelected イベントが発生します。 DateRangeEventArgs コンストラクタは、新しく選択された日付範囲の開始日と終了日を指定します。

メモ   選択されている日数が 1 日だけの場合は、 Start プロパティと End プロパティの値が等しくなります。

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

[Visual Basic, C#, C++] 1 暦年を表示する MonthCalendar コントロールが配置されたフォームを表示する例を次に示します。この例では、 BackColorForeColorTitleBackColorTitleForeColorCalendarDimensions 、および TrailingForeColor などの各プロパティを設定して月間予定表コントロールの外観をカスタマイズしています。 AnnuallyBoldedDatesBoldedDates 、および MonthlyBoldedDates など、その他のプロパティは、どの日付を太字にするかをカスタマイズするために設定されます。この例では、 FirstDayOfWeekMaxDateMinDate 、および MaxSelectionCount を含め、暦の書式を変更するプロパティも設定します。 DateSelected イベントおよび DateChanged イベントも処理され、ステータスがフォームに表示されます。

 
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

[C#] 
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();
    }
}

[C++] 
#using <mscorlib.dll>
#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 __gc class Form1 : public System::Windows::Forms::Form {
private:
   System::Windows::Forms::MonthCalendar*  monthCalendar1;
   System::Windows::Forms::TextBox*  textBox1;
public:
   Form1() {
      this->textBox1 = new 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 = new 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.

      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.

      System::DateTime temp2 [] = {System::DateTime(2002, 9, 26, 0, 0, 0, 0)};

      this->monthCalendar1->BoldedDates = temp2;

      // Add dates to MonthlyBoldedDates 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 += new System::Windows::Forms::DateRangeEventHandler(this, &Form1::monthCalendar1_DateSelected);
      this->monthCalendar1->DateChanged += new 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);

      System::Windows::Forms::Control* temp0 [] = {this->textBox1, this->monthCalendar1};

      this->Controls->AddRange(temp0);
      this->Text = S"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( S"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( S"Date Changed: Start = {0} : End = {1}",
          e->Start.ToShortDateString(), e->End.ToShortDateString() );
   }
};

[STAThread]
int main() {
   Application::Run(new Form1());
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

DateRangeEventArgs メンバ | System.Windows.Forms 名前空間 | DateRangeEventHandler | MonthCalendar