[Scheduler for WinForms] C1Calendarに祝日を追加し、その背景色を設定する方法

文書番号 : 82024     文書種別 : HowTo
登録日 : 2017/03/01     最終更新日 : 2017/03/01

対象製品

Studio for WinForms

詳細

C1Calendarに祝日を追加するには、CalendarInfo.HolidaysのAddメソッドを使用します。祝日の背景色を設定するには、カレンダーの日付を太字で表示するために用意されているBoldedDatesプロパティにHolidaysを設定したのち、C1CalendarのBeforeDayFormatイベントで、そのスタイルを設定します。

以下に、「2017/02/20」を祝日に追加し、その背景色を赤に設定するサンプルコードを記載します。

◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  C1Calendar1.CalendarInfo.Holidays.Clear()
  C1Calendar1.CalendarInfo.Holidays.Add(New DateTime(2017, 02, 20))
  C1Calendar1.BoldedDates = C1Calendar1.CalendarInfo.Holidays.ToArray()
End Sub
Private Sub C1Calendar1_BeforeDayFormat(sender As Object, e As C1.Win.C1Schedule.BeforeDayFormatEventArgs) Handles C1Calendar1.BeforeDayFormat
  If C1Calendar1.BoldedDates.Contains(e.Date) Then
    e.Style.BackColor = Color.Red
  End If
End Sub

◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
  c1Calendar1.CalendarInfo.Holidays.Clear();
  c1Calendar1.CalendarInfo.Holidays.Add(new DateTime(2017, 02, 20)); 
  c1Calendar1.BoldedDates = c1Calendar1.CalendarInfo.Holidays.ToArray();
}
private void c1Calendar1_BeforeDayFormat(object sender, BeforeDayFormatEventArgs e)
{
  if (c1Calendar1.BoldedDates.Contains(e.Date))
    e.Style.BackColor = Color.Red; 
}