ListView.SearchForVirtualItem ListView.SearchForVirtualItem ListView.SearchForVirtualItem ListView.SearchForVirtualItem Event

定义

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. 在此示例中,搜索将最接近的匹配项返回到前10000个正方形列表中的指定整数。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

注解

ListView处于虚拟模式并且调用了FindNearestItemFindItemWithText方法时,将发生此事件。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. 如果未提供项, FindNearestItem FindItemWithText则将返回nullIf an item is not provided, FindNearestItem and FindItemWithText will return null.

有关处理事件的详细信息, 请参阅处理和引发事件For more information about handling events, see Handling and Raising Events.

适用于