'宣言 Public Delegate Sub DayOfWeekHeaderClickedEventHandler( _ ByVal sender As Object, _ ByVal e As DayOfWeekHeaderClickedEventArgs _ )
public delegate void DayOfWeekHeaderClickedEventHandler( object sender, DayOfWeekHeaderClickedEventArgs e )
Private Sub UltraMonthViewSingle1_DayOfWeekHeaderClicked(ByVal sender As System.Object, ByVal e As Infragistics.Win.UltraWinSchedule.DayOfWeekHeaderClickedEventArgs) Handles ultraMonthViewSingle1.DayOfWeekHeaderClicked '---------------------------------------------------------------------------------------------------- ' 説明 ' DayOfWeekHeaderClicked ' ' コントロールの DayOfWeek ヘッダーがクリックされたときに発生します ' '---------------------------------------------------------------------------------------------------- ' Ctrl キーが押されていない場合、既存の選択をクリアします If (Control.ModifierKeys And Keys.Control) = 0 Then Me.ultraMonthViewSingle1.CalendarInfo.SelectedDateRanges.Clear() End If ' クリックしたヘッダーの曜日を取得します Dim dow As System.DayOfWeek = e.DayOfWeek.DayOfTheWeek ' コントロールの最初の表示日から開始し、特定の曜日が ' 最初に表示日される日付を取得します Dim tempDate As DateTime = Me.ultraMonthViewSingle1.FirstVisibleDay.Date If dow = Me.ultraMonthViewSingle1.FirstVisibleDay.Date.DayOfWeek Then Me.ultraMonthViewSingle1.FirstVisibleDay.Selected = True End If Dim i As Integer For i = 0 To 6 tempDate = tempDate.AddDays(1) If tempDate.DayOfWeek = dow Then Exit For Next i ' その日付に Day オブジェクトを作成し、選択します Dim day As Infragistics.Win.UltraWinSchedule.Day = Me.ultraMonthViewSingle1.CalendarInfo.GetDay(tempDate, True) If Not day Is Nothing Then day.Selected = True ' 表示する週が 1 週のみの場合は完了です If Me.ultraMonthViewSingle1.VisibleWeeks = 1 Then Return ' コントロールの VisibleWeeks プロパティを使用すると、 ' 上記で選択した日付に週を追加することにより、特定の曜日になる ' 日をそれぞれ選択します Dim weeks As Integer = Me.ultraMonthViewSingle1.VisibleWeeks - 1 For i = 0 To weeks - 1 tempDate = tempDate.AddDays(7) day = Me.ultraMonthViewSingle1.CalendarInfo.GetDay(tempDate, True) If Not day Is Nothing Then day.Selected = True Next End Sub
private void ultraMonthViewSingle1_DayOfWeekHeaderClicked(object sender, Infragistics.Win.UltraWinSchedule.DayOfWeekHeaderClickedEventArgs e) { //---------------------------------------------------------------------------------------------------- // 説明 // DayOfWeekHeaderClicked // // コントロールの DayOfWeek ヘッダーがクリックされたときに発生します // //---------------------------------------------------------------------------------------------------- // Ctrl キーが押されていない場合、既存の選択をクリアします if ( ( Control.ModifierKeys & Keys.Control ) == 0 ) this.ultraMonthViewSingle1.CalendarInfo.SelectedDateRanges.Clear(); // クリックしたヘッダーの曜日を取得します System.DayOfWeek dow = (System.DayOfWeek)(e.DayOfWeek.DayOfTheWeek); // コントロールの最初の表示日から開始し、特定の曜日の // 最初に表示される日付を取得します DateTime tempDate = this.ultraMonthViewSingle1.FirstVisibleDay.Date; if ( dow == this.ultraMonthViewSingle1.FirstVisibleDay.Date.DayOfWeek ) this.ultraMonthViewSingle1.FirstVisibleDay.Selected = true; for ( int i = 0; i < 7; i ++ ) { tempDate = tempDate.AddDays( 1.0F ); if ( tempDate.DayOfWeek == dow ) break; } // その日付に Day オブジェクトを作成し、選択します Infragistics.Win.UltraWinSchedule.Day day = this.ultraMonthViewSingle1.CalendarInfo.GetDay( tempDate, true ); if ( day != null ) day.Selected = true; // 表示する週が 1 週のみの場合は完了です if ( this.ultraMonthViewSingle1.VisibleWeeks == 1 ) return; // コントロールの VisibleWeeks プロパティを使用すると、 // 以上に選択した日付に週を追加して特定の曜日である // 各の日を選択します int weeks = this.ultraMonthViewSingle1.VisibleWeeks - 1; for ( int i = 0; i < weeks; i ++ ) { tempDate = tempDate.AddDays( 7.0F ); day = this.ultraMonthViewSingle1.CalendarInfo.GetDay( tempDate, true ); if ( day != null ) day.Selected = true; } }