ListView.SearchForVirtualItem Evento

Definizione

Si verifica se la classe ListView è in modalità virtuale ed è in corso una ricerca.

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 

Tipo evento

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di questo membro. Nell'esempio, una ricerca restituisce la corrispondenza più vicina a un intero specificato in un elenco dei primi diecimila quadrati. Questo esempio di codice fa parte di un esempio più grande fornito per la VirtualMode proprietà.

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

Commenti

Questo evento si verifica quando un ListView oggetto è in modalità virtuale e viene chiamato il FindNearestItem metodo o FindItemWithText . Quando si gestisce questo evento, è necessario calcolare quale elemento dall'elenco di elementi forniti dalla Items proprietà corrisponde ai criteri di ricerca e impostare la SearchForVirtualItemEventArgs.Index proprietà sull'indice di ListViewItem. Se non viene fornito FindNearestItem un elemento e FindItemWithText restituirà null.

Per ulteriori informazioni sulla gestione degli eventi, consultare gestione e generazione di eventi.

Si applica a