表示する日付の設定と取得をする

スポンサーリンク

表示する日付の設定や取得を行うには DisplayDate プロパティを使用します。

DisplayModeプロパティがMonthに設定されている場合には、設定した日付が含まれる月を表示します。

たとえば、DisplayDate プロパティに “2008/9/14” を設定した場合には、下記のように”2008/9/14″が含まれる月を表示します。つまり2008年9月のカレンダーが表示されます。

DisplayModeがMonthのカレンダーの例

同様に、DisplayModeプロパティがYearの場合には2008年のカレンダーが表示され”9月”が選択状態になり、Decadeの場合には2000~2009年の10年カレンダーが表示され”2008年”が選択状態になります。

コードからDisplayDateを設定する場合にはDate型(C#はDateTime)の値を指定します。

DisplayModeプロパティがYearとDecadeの例

下記は3つのカレンダーコントロールに、それぞれDisplayModeをMonth, Year, Decadeに設定し、”2008/9/14″を表示する例です。

2008/9/14を表示/取得する例

XAMLの例

<Calendar Name="Calendar1" DisplayMode="Month" DisplayDate="9/14/2008" />
<Calendar Name="Calendar2" DisplayMode="Year" DisplayDate="9/14/2008" />
<Calendar Name="Calendar3" DisplayMode="Decade" DisplayDate="9/14/2008" />

VBの例

Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
    'Calendarコントロールに2009/9/14を表示する
    Calendar1.DisplayDate = New Date(2008, 9, 14)
    Calendar2.DisplayDate = New Date(2008, 9, 14)
    Calendar3.DisplayDate = New Date(2008, 9, 14)
End Sub

C#の例

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // Calendarコントロールに2009/9/14を表示す
    calendar1.DisplayDate = new DateTime(2008, 9, 14);
    calendar2.DisplayDate = new DateTime(2008, 9, 14);
    calendar3.DisplayDate = new DateTime(2008, 9, 14);
}

次にDisplayDateの値を取得する例を下記に示します。

Buttonコントロールがクリックされたときに、DisplayDate の値を ToShortDateStringメソッドで文字列に変換してメッセージボックスに表示します。

VBの例

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
    MessageBox.Show(Calendar1.DisplayDate.ToShortDateString())
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click
    MessageBox.Show(Calendar2.DisplayDate.ToShortDateString())
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button3.Click
    MessageBox.Show(Calendar3.DisplayDate.ToShortDateString())
End Sub

C#の例

private void button1_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show(calendar1.DisplayDate.ToShortDateString());
}

private void button2_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show(calendar2.DisplayDate.ToShortDateString());
}

private void button3_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show(calendar3.DisplayDate.ToShortDateString());
}
タイトルとURLをコピーしました