バージョン

SelectionStrategyFilter プロパティ

選択方法を決めるフィルタープロパティを設定します。
シンタックス
'宣言
 
Public Property SelectionStrategyFilter As Infragistics.Win.ISelectionStrategyFilter
public Infragistics.Win.ISelectionStrategyFilter SelectionStrategyFilter {get; set;}
使用例
Imports Infragistics.Win.UltraWinTree


Public Class Form1
    Inherits System.Windows.Forms.Form
    Implements Infragistics.Win.ISelectionStrategyFilter

    Private nodeSelectionStrategy As MyCustomSelectionStrategy

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ' カスタムの選択方式を作成します
        Me.nodeSelectionStrategy = New MyCustomSelectionStrategy(Me.ultraTree1)

        ' ツリー コノトロールの SelectionStrategyFilter プロパティを 
        ' ISelectionStrategyFilter インターフェイスを実装する 
        ' オブジェクトに設定します
        ' (この場合はこの形式です)
        Me.ultraTree1.SelectionStrategyFilter = Me

    End Sub

    Public Function GetSelectionStrategy(ByVal item As Infragistics.Shared.ISelectableItem) As Infragistics.Win.ISelectionStrategy Implements Infragistics.Win.ISelectionStrategyFilter.GetSelectionStrategy

        ' 項目がノードの場合はカスタムな方法を返します
        If TypeOf (item) Is UltraTreeNode Then
            Return Me.nodeSelectionStrategy
        End If

        ' nothing を返すと、ツリーによって適切な方式が提供されます
        Return Nothing

    End Function

End Class


' PLF で定義されている選択方式の 1 つから
' クラスを派生します 
Friend Class MyCustomSelectionStrategy
    Inherits Infragistics.Win.SelectionStrategyExtended

    Public Sub New(ByVal manager As ISelectionManager)
        MyBase.New(manager)
    End Sub

    Public Overloads Overrides Function OnMouseDown(ByVal item As Infragistics.Shared.ISelectableItem, ByRef msginfo As Infragistics.Win.MouseMessageInfo) As Boolean

        ' カスタムのマウス ダウン処理を実行します
        ' ...
        Return MyBase.OnMouseDown(item, msginfo)

    End Function

End Class
using System.Diagnostics;
	using Infragistics.Win.UltraWinTree;

public class Form1 : System.Windows.Forms.Form,
						Infragistics.Win.ISelectionStrategyFilter
{

	private MyCustomSelectionStrategy nodeSelectionStrategy;

	private void Form1_Load(object sender, System.EventArgs e)
	{

		// カスタムの選択方式を作成します
		this.nodeSelectionStrategy = 
			new MyCustomSelectionStrategy(this.ultraTree1 );

		// ツリー コノトロールの SelectionStrategyFilter プロパティを 
		// ISelectionStrategyFilter インターフェイスを実装する 
		// オブジェクトに設定します
		// (この場合はフォームです)
		this.ultraTree1.SelectionStrategyFilter = this;

	}

	public Infragistics.Win.ISelectionStrategy 
			GetSelectionStrategy(Infragistics.Shared.ISelectableItem item)
	{

		// 項目がノードの場合はカスタム方式を返します
		if ( item is UltraTreeNode )
			return this.nodeSelectionStrategy;

		// null を返すと、ツリーによって適切な方式が提供されます
		return null;

	}
}

// PLF で定義されている選択方式の 1 つから
// クラスを派生します 
internal class MyCustomSelectionStrategy 
			: SelectionStrategyExtended
{
	internal MyCustomSelectionStrategy( ISelectionManager manager ) 
			: base( manager )
	{
	}

	public override bool OnMouseDown(Infragistics.Shared.ISelectableItem item, 
							ref Infragistics.Win.MouseMessageInfo msginfo)
	{

		// カスタムのマウス ダウン処理を実行します
		// ...
		return base.OnMouseDown( item, ref msginfo );

	}
}
参照