ListView.SearchForVirtualItem イベント

定義

ListView が仮想モードの場合に、検索が実行されると発生します。

public:
 event System::Windows::Forms::SearchForVirtualItemEventHandler ^ SearchForVirtualItem;
public event System.Windows.Forms.SearchForVirtualItemEventHandler SearchForVirtualItem;
public event System.Windows.Forms.SearchForVirtualItemEventHandler? SearchForVirtualItem;
member this.SearchForVirtualItem : System.Windows.Forms.SearchForVirtualItemEventHandler 
Public Custom Event SearchForVirtualItem As SearchForVirtualItemEventHandler 

イベントの種類

次のコード例では、このメンバーの使用方法を示します。 この例では、検索は、最初の 10,000 平方のリスト内の指定された整数に最も近い一致を返します。 このコード例は、 プロパティに対して提供されるより大きな例の VirtualMode 一部です。

//This event handler enables search functionality, and is called
//for every search request when in Virtual mode.
void listView1_SearchForVirtualItem(object sender, SearchForVirtualItemEventArgs e)
{
    //We've gotten a search request.
    //In this example, finding the item is easy since it's
    //just the square of its index.  We'll take the square root
    //and round.
    double x = 0;
    if (Double.TryParse(e.Text, out x)) //check if this is a valid search
    {
        x = Math.Sqrt(x);
        x = Math.Round(x);
        e.Index = (int)x;
    }
    //If e.Index is not set, the search returns null.
    //Note that this only handles simple searches over the entire
    //list, ignoring any other settings.  Handling Direction, StartIndex,
    //and the other properties of SearchForVirtualItemEventArgs is up
    //to this handler.
}
'This event handler enables search functionality, and is called
'for every search request when in Virtual mode.
Private Sub listView1_SearchForVirtualItem(ByVal sender As Object, ByVal e As SearchForVirtualItemEventArgs) Handles listView1.SearchForVirtualItem
    'We've gotten a search request.
    'In this example, finding the item is easy since it's
    'just the square of its index.  We'll take the square root
    'and round.
    Dim x As Double = 0
    If [Double].TryParse(e.Text, x) Then 'check if this is a valid search
        x = Math.Sqrt(x)
        x = Math.Round(x)
        e.Index = Fix(x)
    End If
    'Note that this only handles simple searches over the entire
    'list, ignoring any other settings.  Handling Direction, StartIndex,
    'and the other properties of SearchForVirtualItemEventArgs is up
    'to this handler.
End Sub

注釈

このイベントは、 が仮想モードで、 FindNearestItem メソッドまたは FindItemWithText メソッドが呼び出されたときにListView発生します。 このイベントを処理するときは、 プロパティによって Items 指定された項目の一覧から検索条件と一致する項目を計算し、 プロパティを SearchForVirtualItemEventArgs.IndexListViewItemインデックスに設定する必要があります。 項目が指定されていない場合、 FindNearestItemFindItemWithText は を返します null

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。

適用対象