2016-10-13 4 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; 
     } 

私は、searchcontrolにdevexpres winformsを使用しています。 searchcontrol.Containsを実行すると、文字列の代わりにコントロールが必要になります。だから私はあなたがそれを見ることができない場所になるが、私は文字を入力するときに含まれているcontainsキーを使用しています。それはそれを示していない。

+0

あなたは次のようないくつかの文を意味します: 'metrotile1.Visible = textbox1.Contains(metrotile1.text);'?しかし、それはコードの読みやすさだけです、この質問はおそらく本当に基づいて意見です。 – DavidG

+0

あなたの質問は何かわかりません。 – CharithJ

+0

は、私はそれを更新し、しかし、私は、テキストボックスのようなものですsearchcontrolを使用しようとしているが、DevExpress社のコントロールでフィルターのために作られました。私はcontainskeyを使用していますが、文字列を含んでいるときにボタンを表示していません。 – John

答えて

0

SearchControlと互換性のあるコントロールは、ISearchControlClientインターフェイスを実装する必要があります。このインタフェースを実装する既存のコントロールのリストはDevExpress Documentationにあります。

metroTile1とmetroTile2を含むコンポーネントは、このインタフェースを実装していない、あなたは、このコンポーネントの実装を変更できない場合は、あなたのアプローチは、ユーザの入力に基づいて要素を非表示にすることは良いです。

関連する問題