Почему все должно быть "шаблоном дизайна"?
Это также зависит от того, что предлагает ваш язык, например в Python вы можете просто диктовать внутренние и отображать значения выпадающих меню:
option_tree = {
("option1", "Option 1"): {
("option21", "Option 2/1"),
("option22", "Option 2/2"),
},
("option2", "Option 2"): {
("option21", "Option 2/1"),
("option23", "Option 2/3"),
("option24", "Option 2/4"),
...
Если вы имеете в виду определенный API пользовательского интерфейса, возможно, вы могли бы упомянуть, что ... большинство API (каркасов веб-рендеринга и т. Д.) Имеют канонический способ реализации вещей.
Редактировать: для .NET тот же метод может работать после быстрого поиска в Google:
Есть словарь (строка -> вектор).
В словаре поместите значения для первого поля со списком в качестве ключа и сопоставьте соответствующие значения во втором как значение. Значения для первого выпадающего списка могут быть установлены с помощью:
combobox.AddRange(dictionary.Keys)
второй комбинированный список можно использовать с
secondcombo.AddRange(dictionary.Item(combo.SelectedItem))
Если вы очистите второй и переустанавливаете его / выше при каждом изменении первого - готово.