祝日設定に「山の日」を追加したい
対象製品
InputMan for Windows Forms 8.0J
詳細
2016年から、8月11日に「山の日」が国民の祝日として施行されます。
日付時刻および日付コントロールのドロップダウンカレンダーの休日設定に2016年以降の8月11日を追加するには、ForceHolidayオブジェクトを使用して、特定の年にだけ適用される休日を生成します。これは、年によって変化する春分の日、秋分の日の設定と同様の方法です。
以下のサンプルコードでは、ドロップダウンカレンダーのScrollイベントで、表示されている年により「山の日」を祝日として追加する例です。
[Visual Basic]
なお、2016年以降に「山の日」が追加された祝日定義ファイルは製品に同梱されています。
日付時刻および日付コントロールのドロップダウンカレンダーの休日設定に2016年以降の8月11日を追加するには、ForceHolidayオブジェクトを使用して、特定の年にだけ適用される休日を生成します。これは、年によって変化する春分の日、秋分の日の設定と同様の方法です。
以下のサンプルコードでは、ドロップダウンカレンダーのScrollイベントで、表示されている年により「山の日」を祝日として追加する例です。
[Visual Basic]
' イベントを使用するクラスのインスタンスを設定します。 Friend WithEvents MyCalendar As GrapeCity.Win.Editors.DropDownCalendar ' 休日スタイルを定義します。 Dim nationalHoliday As HolidayStyle = New HolidayStyle() Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' 固定の祝日を設定します。 nationalHoliday.Name = "国民の祝日" nationalHoliday.SubStyle = New SubStyle(Color.Pink, Color.White) ' 休日スタイルをコレクションに追加してカレンダーに反映させます。 GcDateTime1.DropDownCalendar.HolidayStyles.Add("国民の祝日", nationalHoliday) GcDateTime1.DropDownCalendar.ActiveHolidayStyles = New String() {"国民の祝日"} End Sub Private Sub DropDownCalendar_Scrolled(ByVal sender As Object, ByVal e As GrapeCity.Win.Editors.ScrolledEventArgs) Handles GcDateTime1.DropDownCalendar.Scrolled Dim currentYear As Integer = e.StartDate.Year ' 2016年以降、山の日を設定します。 If currentYear > 2015 Then nationalHoliday.Holidays.Add(New ForceHoliday("山の日", DateTime.Parse(currentYear.ToString() + "/08/11"))) End If End Sub[C#]
// 休日スタイルを定義します。 HolidayStyle nationalHoliday = new HolidayStyle(); private void Form1_Load(object sender, EventArgs e) { // イベントプロシージャに関連づけます。 gcDateTime1.DropDownCalendar.Scrolled += DropDownCalendar_Scrolled; // 固定の祝日を設定します。 nationalHoliday.Name = "国民の祝日"; nationalHoliday.SubStyle = new SubStyle(Color.Pink, Color.White); // 休日スタイルをコレクションに追加してカレンダーに反映させます。 gcDateTime1.DropDownCalendar.HolidayStyles.Add("国民の祝日", nationalHoliday); gcDateTime1.DropDownCalendar.ActiveHolidayStyles = new String[] {"国民の祝日"}; } private void DropDownCalendar_Scrolled(object sender, GrapeCity.Win.Editors.ScrolledEventArgs e) { int currentYear = e.StartDate.Year; // 2016年以降、山の日を設定します。 if(currentYear > 2015) { nationalHoliday.Holidays.Add(new ForceHoliday("山の日", DateTime.Parse(currentYear.ToString() + "/08/11"))); } }
なお、2016年以降に「山の日」が追加された祝日定義ファイルは製品に同梱されています。