2016-10-13 3 views
0

Каков наилучший способ фильтрации метролита (кнопки) в панели. Код, который я пытаюсь использовать.C# Фильтр-фильтр в панели

if(searchControl1.Controls.ContainsKey(metroTile1.Text)) 
     { 
      metroTile1.Visible = true; 

     }else if(!searchControl1.Controls.ContainsKey(metroTile1.Text)) 
     { 
      metroTile1.Visible = false; 
     } 
     if(searchControl1.Controls.ContainsKey(metroTile2.Text)) 
     { 
      metroTile2.Visible = true; 

     }else if(!searchControl1.Controls.ContainsKey(metroTile2.Text)) 
     { 
      metroTile2.Visible = false; 
     } 

Я использую winforms devexpres для searchcontrol. Когда я выполняю searchcontrol.Contains, он хочет вместо элемента вместо элемента управления. Так что я использую containsskey, который он делает там, где вы не можете его увидеть, но когда я набираю char. он не показывает это.

+0

Вы имеете в виду несколько таких утверждений: 'metrotile1.Visible = textbox1.Contains (metrotile1.text);'? Но это только читаемость кода, этот вопрос, вероятно, основан на самом деле. – DavidG

+0

Объясните, не уверен, в чем ваш вопрос. – CharithJ

+0

Я обновил его, но я пытаюсь использовать searchcontrol, который похож на текстовое поле, но сделан для фильтра в элементах управления devexpress. Я использую holdskey, но он не показывает кнопку, когда содержит строку. – John

ответ

0

Элемент управления, совместимый с SearchControl, должен реализовывать интерфейс ISearchControlClient. Список существующих элементов управления, реализующих этот интерфейс, представлен в файле DevExpress Documentation.

Если компонент, содержащий metroTile1 и metroTile2, не реализует этот интерфейс, и вы не можете изменить эту реализацию компонента, тогда ваш подход хорош, чтобы скрыть элементы на основе пользовательского ввода.

Смежные вопросы