ドロップダウンカレンダーで、休業日(毎週の定期的な休み)を設定する方法について、以下の3つの項目に分けて解説します。
ドロップダウンカレンダーの休業日の設定は、HolidayStyles プロパティが参照するHolidayStyleCollection を初めとする下図のオブジェクト(着色された5つ)を使って行います。
休業日の設定に直接関連する部分をさらに詳しく示すと、下図のようになります。Weekdays とDayOfWeekHolidayPolicy 以外のオブジェクトについては「休日の設定」を参照してください。
Weekdays オブジェクトには、Sunday からSaturday までの7つのプロパティが用意されており、これらが参照するDayWeekHolidayPolicy クラスを使って休業日を設定します。
休業日は、次の手順で設定します。
次のサンプルコードは、第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[]{"休業日"};