2016-08-31 7 views
0

У меня есть flowlayoutpanel, в котором перечислены названия альбома. Предполагая, что в flowlayoutpanel много песен, и я хочу найти конкретный. Скажем, я хотел бы получить песню Эд Шеран «Thinking Out loud». Поэтому я бы набрал слово «Мышление» в поисковом поле и даже не закончил слова «Out Loud», я бы хотел отфильтровать панель flowlayout, показывающую мне элемент управления, который имеет заголовок «Thinking Out Loud» и скрывает все элементы управления без слово «Мышление». Это похоже на запрос LIKE поиска SQL. Но я не хочу делать SQL. возможно ли это с FLOWLAYOUTPANEL и поисковым текстом?поиск элементов управления в flowlayoutpanel с "like" searchkey VB.NET

ответ

0

Вы можете использовать TextChanged событие поисковой TextBox, чтобы вызвать обработку элементов управления инкассо FlowLayoutPanel «s заходящего Visible свойство каждого элемента управления на основе результате VB Like Operator сравнения.

Private Sub tbSearch_TextChanged(sender As Object, e As EventArgs) Handles tbSearch.TextChanged 
    If tbSearch.Text.Length > 0 Then 
     Dim compareTo As String = String.Concat("*", tbSearch.Text.ToLowerInvariant, "*") 
     For Each c As Control In FlowLayoutPanel1.Controls 
      c.Visible = (c.Text.ToLowerInvariant Like compareTo) 
     Next 
    Else 
     For Each c As Control In FlowLayoutPanel1.Controls 
      c.Visible = True 
     Next 
    End If 
End Sub 
+0

Thanks TnTinMn. Работает как Charm! –