alibek » 27.10.2005 (Чт) 9:29
Хорошо, начнем сначала.
TabStrip -- это не контейнер, это просто визуальный контрол с вкладками.
Если тебе нужно, чтобы при переключении вкладок "переключался" набор контролов, то для этого есть два способа. Первый -- динамически генерировать и позиционировать контролы, подходит, когда на всех вкладках контролы более-менее одинаковые. Второй -- для каждой вкладки создать свой набор контролов, разместив их в контейнерах (по контейнеру на каждую вкладку), и, соответственно, отображать только тот контейнер, который соответствует выбранной вкладке, скрывая остальные. Самый удобный контейнер -- Frame. Впрочем ты можешь использовать и PictureBox или UserControl, дело твое.
Как я понял твою задачу, у тебя неограниченное количество вкладок, на каждой из которых должна отображаться большая картинка и несколько маленьких с текстовыми элементами. То есть, отдельный контейнер на каждую вкладку тебе не нужен, эти вспомогательные элементы можно позиционировать для каждой вкладки. Я бы сделал так.
На форме есть TabStrip, есть элемент массива, невидимый Image(0), есть PictureBox, есть набор невидимых картинок и текстовых элементов (Image, Label).
При загрузке формы я определяю, сколько должно быть вкладок, устанавливаю это количество и задаю имена для вкладок. Кроме того, я загружаю массив Image(), добавляя столько же элементов, сколько вкладок.
При выборе вкладки выполняются следующие действия:
1. Загружается картинка в соответствующий Image(), если она еще не загружалась (проверка Image(I).Picture Is Nothing).
2. Позиционируется PictureBox и выполняется Set PictureBox.Picture = Image(I).Picture.
3. Позиционируются вспомогательные элементы.
Последний раз редактировалось
alibek 27.10.2005 (Чт) 10:41, всего редактировалось 1 раз.
Lasciate ogni speranza, voi ch'entrate.