ListView.SearchForVirtualItem Событие

Определение

Происходит в том случае, если элемент управления ListView находится в виртуальном режиме и выполняется поиск.

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 

Тип события

Примеры

В следующем примере кода показано использование этого элемента. В этом примере поиск возвращает ближайшее совпадение с указанным целым числом в списке первых десяти тысяч квадратов. Этот пример кода является частью более крупного примера, предоставленного VirtualMode для свойства .

//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 объект находится в виртуальном режиме FindNearestItem и вызывается метод или FindItemWithText . При обработке этого события следует вычислить, какой элемент из списка элементов, предоставленных свойством Items , соответствует условиям поиска, и задать SearchForVirtualItemEventArgs.Index для свойства индекс ListViewItem. Если элемент не указан, FindNearestItem и FindItemWithText возвращает null.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к