ListView.SearchForVirtualItem イベント

定義

ListView が仮想モードの場合に、検索が実行されると発生します。Occurs when the ListView is in virtual mode and a search is taking place.

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 

このメンバーの使用例を次のコード例に示します。The following code example demonstrates the use of this member. この例では、検索は最初の1万二乗のリスト内の指定された整数に最も近い一致を返します。In the example, a search returns the nearest match to a specified integer in a list of the first ten thousand squares. このコード例は、VirtualMode プロパティ用に用意されている大規模な例の一部です。This code example is part of a larger example provided for the VirtualMode property.

//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

注釈

このイベントは、@no__t 0 が仮想モードで、FindNearestItem または FindItemWithText メソッドが呼び出されたときに発生します。This event occurs when a ListView is in virtual mode and the FindNearestItem or FindItemWithText method is called. このイベントを処理する場合は、Items プロパティによって指定された項目の一覧から検索条件に一致する項目を計算し、SearchForVirtualItemEventArgs.Index プロパティを ListViewItem のインデックスに設定する必要があります。When handling this event, you should calculate which item from the list of items supplied by the Items property matches the search criteria and set the SearchForVirtualItemEventArgs.Index property to the index of the ListViewItem. 項目が指定されていない場合、FindNearestItemFindItemWithTextnull を返します。If an item is not provided, FindNearestItem and FindItemWithText will return null.

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。For more information about handling events, see Handling and Raising Events.

適用対象