MESCIUS InputMan for Windows Forms 12.0J
休業日の設定

ドロップダウンカレンダーで、休業日(毎週の定期的な休み)を設定する方法について、以下の3つの項目に分けて解説します。

概要の説明

ドロップダウンカレンダーの休業日の設定は、HolidayStyles プロパティが参照するHolidayStyleCollection を初めとする下図のオブジェクト(着色された5つ)を使って行います。

休業日の設定に直接関連する部分をさらに詳しく示すと、下図のようになります。WeekdaysDayOfWeekHolidayPolicy 以外のオブジェクトについては「休日の設定」を参照してください。

Weekdays オブジェクトには、Sunday からSaturday までの7つのプロパティが用意されており、これらが参照するDayWeekHolidayPolicy クラスを使って休業日を設定します。

休業日の設定

休業日は、次の手順で設定します。

  1. 通常の休日と同じように、HolidayStyle オブジェクトを生成します。
  2. HolidayStyle オブジェクトのName プロパティを設定します。
  3. コントロールのWeekdays プロパティを経由して参照されるDayOfWeekStyle オブジェクトのSubStyle プロパティを使って、休業日の日付スタイル(文字色、背景色、太字、下線)を設定します。
  4. HolidayCollection コレクションのWeekdays プロパティが参照するWeekdays オブジェクトのプロパティ(Sunday〜Saturday)を使うことで、休業日にする曜日を指定します。
  5. 指定したプロパティ(たとえばWednesday)が参照するDayOfWeekdayPolicy クラスのWeekFlags プロパティで、休業日にする週(例:第2週と第3週)を指定します。
  6. HolidayStyle オブジェクトをHolidayStyleCollection コレクションに登録します。
  7. コントロールのActiveHolidayStyles プロパティを使って、登録したHolidayStyle オブジェクトを有効にします。
サンプルコード

次のサンプルコードは、第2と第4の土曜日を休業日に設定します。

Imports GrapeCity.Win.Editors

' 休日スタイルを生成します。
Dim aHS As HolidayStyle = New HolidayStyle()
' 休日スタイルの名称を設定します。
aHS.Name = "休業日"
' 第2と第4土曜日を休業日に設定します。
aHS.Holidays.Weekdays.Saturday = New DayOfWeekHolidayPolicy(WeekFlags.SecondWeek Or WeekFlags.FourthWeek, HolidayOverride.None)
' 休業日の表示スタイルを設定します。
GcDateTime1.DropDownCalendar.Weekdays.Saturday.SubStyle = New SubStyle(Color.WhiteSmoke, Color.Red, True, False)
GcDateTime1.DropDownCalendar.Weekdays.Saturday.WeekFlags = WeekFlags.SecondWeek Or WeekFlags.FourthWeek
' 設定が完了した休日スタイルを登録します。
GcDateTime1.DropDownCalendar.HolidayStyles.Add("休業日", aHS)
' 登録した休日スタイルをコントロールに反映させます。
GcDateTime1.DropDownCalendar.ActiveHolidayStyles = New string(){"休業日"}
using GrapeCity.Win.Editors;
// 休日スタイルを生成します。
HolidayStyle aHS = new HolidayStyle();
// 休日スタイルの名称を設定します。
aHS.Name = "休業日";
// 第2と第4土曜日を休業日に設定します。
aHS.Holidays.Weekdays.Saturday = new DayOfWeekHolidayPolicy(WeekFlags.SecondWeek | WeekFlags.FourthWeek, HolidayOverride.None);
// 休業日の表示スタイルを設定します。
gcDateTime1.DropDownCalendar.Weekdays.Saturday.SubStyle = new SubStyle(Color.WhiteSmoke, Color.Red, true, false);
gcDateTime1.DropDownCalendar.Weekdays.Saturday.WeekFlags = WeekFlags.SecondWeek | WeekFlags.FourthWeek;
// 設定が完了した休日スタイルを登録します。
gcDateTime1.DropDownCalendar.HolidayStyles.Add("休業日", aHS);
// 登録した休日スタイルをコントロールに反映させます。
gcDateTime1.DropDownCalendar.ActiveHolidayStyles = new string[]{"休業日"};
関連トピック

 

 


© MESCIUS inc. All rights reserved.