稼働時間を設定する場合はUltraCalendarInfoのDaysOfWeek(デフォルトの稼働時間の設定)、OwnersのDayOfWeekSettings(オーナー固有の稼働時間設定)で可能です。

いずれも曜日ごとにWorkDayStartTimeプロパティ(開始時間用)とWorkDayEndTimeプロパティ(終了時間用)で指定します。

  • デフォルトの稼働時間を設定する場合
    • UltraCalendarInfo.DaysOfWeekで各曜日ごとに設定
  • 特定のオーナーの稼働時間を設定する場合
    • UltraCalendarInfo.Ownersの該当オーナーオブジェクトのDayOfWeekSettingsで各曜日ごとに設定
  • 開始時間
    • WorkDayStartTimeプロパティで指定
  • 終了時間
    • WorkDayEndTimeプロパティで指定

 

コード例

// デフォルトの稼働開始時間9:00と稼働終了時間17:30を設定する。
// ultraCalendarInfo1.DaysOfWeekの各曜日に関してWorkDayStartTimeとWorkDayEndTimeを指定する。
foreach (var dayOfWeek in ultraCalendarInfo1.DaysOfWeek)
{
    dayOfWeek.WorkDayStartTime = DateTime.Today.AddHours(9);
    dayOfWeek.WorkDayEndTime = DateTime.Today.AddHours(17).AddMinutes(30);
}

// "Charlie"の稼働時間を、月曜日は7:00~15:30、それ以外はデフォルトの稼働時間にする場合

// "Charlie"オーナーオブジェクトを取得する。
Owner charlie = ultraCalendarInfo1.Owners["Charlie"];
// CharlieのDayOfWeekSettingsの各曜日の設定に関して
foreach (var dayOfWeekSetting in charlie.DayOfWeekSettings)
{
    // 月曜日なら
    if(dayOfWeekSetting.DayOfTheWeek == System.DayOfWeek.Monday)
    {
        // 7:00~15:30で設定する。
        dayOfWeekSetting.WorkDayStartTime = DateTime.Today.AddHours(7);
        dayOfWeekSetting.WorkDayEndTime = DateTime.Today.AddHours(15).AddMinutes(30);
    }
    // 月曜日以外なら
    else
    {
        // デフォルト(ultraCalendarInfoにある設定)を設定する
        dayOfWeekSetting.WorkDayStartTime = ultraCalendarInfo1.DaysOfWeek[dayOfWeekSetting.DayOfTheWeek].WorkDayStartTime;
        dayOfWeekSetting.WorkDayEndTime = ultraCalendarInfo1.DaysOfWeek[dayOfWeekSetting.DayOfTheWeek].WorkDayEndTime;
    }
}

 

実行結果

月曜日の例。Charlieは7:00~15:30、それ以外の人は9:00~17:30になっています。

 

その他の曜日の例。全員が9:00~17:30になっています。

 

サンプル

 

ドキュメント

 

製品について

Ultimate UI for Windows Forms