This example requires that the form on which the control resides implements the ISelectionStrategyFilter interface, i.e.:
Public Class myForm
Inherits System.Windows.Forms.Form
Implements Infragistics.Win.ISelectionStrategyFilter
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinSchedule
Imports Infragistics.Win.UltraWinSchedule.MonthViewSingle
' 1.ISelectionStrategyFilter インターフェイスを実装するには、
' 以下のカスタム選択方法クラスのインスタンスを返します
Public Function GetSelectionStrategy(ByVal item As Infragistics.Shared.ISelectableItem) As Infragistics.Win.ISelectionStrategy Implements Infragistics.Win.ISelectionStrategyFilter.GetSelectionStrategy
Return New MySelectionStrategy(Me.ultraMonthViewSingle1)
End Function
' 2.コントロールの SelectionStrategyFilter プロパティをフォームの
' ISelectionStrategyFilter インターフェイスの実装への参照に設定します
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.ultraMonthViewSingle1.SelectionStrategyFilter = Me
End Sub
#Region "MySelectionStrategy class"
' SelectionStrategySingle から派生しますマウスによって日の単一選択を許可します
' キーボードによって曜日の選択を有効し、週末の選択を無効にします
Public Class MySelectionStrategy
Inherits Infragistics.Win.SelectionStrategySingle
Public Sub New(ByVal manager As ISelectionManager)
MyBase.New(manager)
End Sub
' 選択方法のキーボード処理を処理しますこのオーバーライドされた
' バージョンでは、キーボードで週末を選択することはできません
Public Overloads Overrides Function ProcessKeyBoardItem(ByVal item As Infragistics.Shared.ISelectableItem, ByVal shift As Boolean, ByVal control As Boolean) As Boolean
' 選択可能な項目の型を決定します。Day オブジェクトの場合、
' キーボードで週末を選択することはできません
Dim day As Infragistics.Win.UltraWinSchedule.Day = item
If (Not day Is Nothing) Then
' 曜日が土曜日または日曜日の場合、False を返します
' 操作が実行されないことを示します
If (day.Date.DayOfWeek = System.DayOfWeek.Saturday Or _
day.Date.DayOfWeek = System.DayOfWeek.Sunday) Then Return False
' 他の曜日は選択できます
Return MyBase.ProcessKeyBoardItem(item, shift, control)
End If
End Function
End Class
#End Region ' "MySelectionStrategy class"
'宣言
Public Property SelectionStrategyFilter As Infragistics.Win.ISelectionStrategyFilter
This example requires that the form on which the control resides implements the ISelectionStrategyFilter interface, i.e.:
public class myForm : System.Windows.Forms.Form, Infragistics.Win.ISelectionStrategyFilter
Inherits System.Windows.Forms.Form
Implements Infragistics.Win.ISelectionStrategyFilter
using Infragistics.Win;
using Infragistics.Win.UltraWinSchedule;
using Infragistics.Win.UltraWinSchedule.MonthViewSingle;
using System.Diagnostics;
// 1.ISelectionStrategyFilter インターフェイスを実装するには、
// 以下のカスタム選択方法クラスのインスタンスを返します
ISelectionStrategy ISelectionStrategyFilter.GetSelectionStrategy( Infragistics.Shared.ISelectableItem item )
{
return new MySelectionStrategy( this.ultraMonthViewSingle1 );
}
// 2.コントロールの SelectionStrategyFilter プロパティをフォームの
// ISelectionStrategyFilter インターフェイスの実装への参照に設定します
private void button1_Click(object sender, System.EventArgs e)
{
this.ultraMonthViewSingle1.SelectionStrategyFilter = this;
}
#region MySelectionStrategy class
/// <summary>
/// SelectionStrategySingle から派生しますマウスによって日の単一選択を許可します
/// キーボードによって曜日の選択を有効し、週末の選択を無効にします
/// </summary>
public class MySelectionStrategy : Infragistics.Win.SelectionStrategySingle
{
/// <summary>
/// MySelectionStrategy クラスの新しいインスタンスを作成します
/// </summary>
public MySelectionStrategy( ISelectionManager manager ) : base( manager )
{
}
/// <summary>
/// 選択方法のキーボードの処理を処理しますこのオーバーライドされたバージョンでは、キーボードで週末を選択することはできません
/// </summary>
/// <param name="item">選択可能な項目 - Day オブジェクト</param>
/// <param name="shift">Shift キーが押された場合に True</param>
/// <param name="control">Control キーが押された場合に True</param>
/// <returns>操作が成功に実行したかどうかを示すブール値</returns>
public override bool ProcessKeyBoardItem( Infragistics.Shared.ISelectableItem item, bool shift, bool control )
{
// 選択可能な項目の型を決定します。Day オブジェクトの場合、
// キーボードで週末を選択することはできません
Infragistics.Win.UltraWinSchedule.Day day = item as Infragistics.Win.UltraWinSchedule.Day;
if ( day != null )
{
// 曜日が土曜日または日曜日の場合、False を返します
// 操作が実行されないことを示します
if ( day.Date.DayOfWeek == System.DayOfWeek.Saturday ||
day.Date.DayOfWeek == System.DayOfWeek.Sunday )
return false;
}
// 他の曜日は選択できます
return base.ProcessKeyBoardItem( item, shift, control );
}
}
#endregion MySelectionStrategy class
'宣言
Public Property SelectionStrategyFilter As Infragistics.Win.ISelectionStrategyFilter