Freigeben über


ListView.SearchForVirtualItem Ereignis

Definition

Tritt ein, wenn sich ListView im virtuellen Modus befindet und eine Suche ausgeführt wird.

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 

Ereignistyp

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Members veranschaulicht. Im Beispiel gibt eine Suche die nächstgelegene Übereinstimmung mit einer angegebenen ganzzahligen Zahl in einer Liste der ersten zehntausend Quadrate zurück. Dieses Codebeispiel ist Teil eines größeren Beispiels für die VirtualMode -Eigenschaft.

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

Hinweise

Dieses Ereignis tritt auf, wenn sich ein ListView im virtuellen Modus befindet und die FindNearestItem -Methode oder FindItemWithText aufgerufen wird. Wenn Sie dieses Ereignis behandeln, sollten Sie berechnen, welches Element aus der Liste der von der Items -Eigenschaft bereitgestellten Elemente den Suchkriterien entspricht, und die SearchForVirtualItemEventArgs.Index -Eigenschaft auf den Index von ListViewItemfestlegen. Wenn ein Element nicht bereitgestellt wird, FindNearestItem wird FindItemWithText zurückgegeben null.

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter behandeln und Auslösen von Ereignissen.

Gilt für: