ListView.SearchForVirtualItem Událost

Definice

Nastane, když ListView je ve virtuálním režimu a probíhá hledání.

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 

Event Type

SearchForVirtualItemEventHandler

Příklady

Následující příklad kódu ukazuje použití tohoto člena. V příkladu vrátí hledání nejbližší shodu se zadaným celočíselnou hodnotou v seznamu prvních deseti tisíc čtverců. Tento příklad kódu je součástí většího příkladu VirtualMode zadaného pro vlastnost.

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

Poznámky

K této události dochází, když ListView je ve virtuálním režimu a volá FindNearestItem se metoda.FindItemWithText Při zpracování této události byste měli vypočítat, kterou položku ze seznamu položek zadaných Items vlastností odpovídá kritériím hledání a nastavit SearchForVirtualItemEventArgs.Index vlastnost na index objektu ListViewItem. Pokud položka není zadaná FindNearestItem a FindItemWithText vrátí null.

Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.

Platí pro