コンボボックスに list の項目を入力し、コンボボックス内のTownList
テキストでフィルタリングしますsearchString
List<Towns> towns = PIKBLL.TownList.FindAll(p => p.Name.Contains(searchString));
(sender as ComboBox).DataSource = towns;
そして、ユーザーがコンボでテキストを入力するたびにそれを行います。
また、同じイベント ハンドラーで、コンボ ボックスにドロップ ダウンを次のように表示するように指示しますcb.DroppedDown = true;
。
私は次のようなメソッドを呼び出そうとしました:
cb.PerformLayout();
cb.Refresh();
cb.Update();
私もこれを試しました:
if (towns.Count != 0)
{
if (towns.Count * cb.ItemHeight < 300)
cb.DropDownHeight = towns.Count * cb.ItemHeight;
else
cb.DropDownHeight = cb.ItemHeight * 15;
}
私の質問は、このリストを非表示にして再度表示することなく、アイテムのリストを再計算して動的に再描画するようにコンボボックスに指示するにはどうすればよいですか?