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

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

概要の説明

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

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

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.