V tom případě mě napadá například ty textové popisky dát ImageListům do vlastnosti Tag a ComboBox plnit přímo těmi objekty ImageList. Nemám teď otevřené VS, ale mohlo by stači něco jako
ComboBox1.DataSource = Me.Components.OfType(Of ImageList)
Tím dostane kombo přímo kolekci všech ImageListů a pokud nastavíte vlastnost tuším DisplayMember na Tag, tak zobrazí jako text to, co je ve vlastnosti Tag. No a konkrétní komponentu ImageList, která je vybraná, pak máte ve vlastnosti SelectedValue. Stačí tedy pak tedy jen přetypovat a zbavíte se toho ifu.
sada = DirectCast(ComboBox1.SelectedValue, ImageList)
Navíc pro přidání sady stačí jen na formulář umístit nový ImageList a je to, nemusíte změnit ani čárku v kódu. Ale ve WinForms jsem už dlouho nedělal, takže názvy vlastností asi budou špatně a asi není úplně čisté k tomuto účelu znásilnit vlastnost Tag.
|