![]() |
Модераторы: diadiavova, gambit |
![]() ![]() ![]() |
|
YoD |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 29.11.2004 Репутация: нет Всего: нет |
Люди, подскажите пожалуйста. Мне надо на форме создать нечто вроде таблицы из image boxes. Вроде всё просто, но в VB. NET убрали мою любимую возможность - создание массивов элементов управления. Кто знает, как программно создать много image boxes на фореме (много это порядка 100) и как ими потом управлять. Буду очень благодарен за все советы
|
|||
|
||||
-Mikle- |
|
||||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Не убрали, а скорее усовершенствовали ![]() ![]() Короче вот код на примере массива PictureBox'ов. Ниже написанное засовываем в класс формы.
Пробуй, будут вопросы по этой теме, пиши сюда. Вопросы по другой теме, просьба создавать в новом топике. -------------------- Если тебе плюют в спину, значит ты впереди... |
||||
|
|||||
Гость_Папа |
|
|||
Unregistered |
-Mikle-
Приветствую. Вопрос новичка по выше приведенному коду. Поясни что означает или что происходит в результате выполнения этой строки ReDim Preserve pics(i) Заранее спасибо. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 18 Всего: 186 |
она увеличивает количество элементов массиве.
|
|||
|
||||
Гость_Папа |
|
|||
Unregistered |
Run-time error
Спасибо. Но я не совсем понял смысл. Я бы выполнил это так ( пример размещения на форме 40 label )
Впрочем Mikle это и так написал. Только в чем фишка AddRange вместо Add просто? Если можно то вопрос по обработчику событий Click. Как сделать: кликнули по первому контролу он стал невидимым Visible = Fals, кликнули по второму он тоже стал невидимым, а потом если кликнуть по третьему (или через промежуток времени) то первый опять становится видимым. Есть возможность через IndexOf определить индекс контрола и потом с его помощью управлять контролом дальше. Но у меня что-то не получается. И потом никак не могу придумать как отследить первый и второй клик. Ведь когда кликнули по второму контролу клик номер два, но после клика по третьему клик номер два должен стать кликом номер один, а новый(третий) номером два. Плюс должен сохраняться индекс контрола, чтобы потом его сделать видимым. Run-time error Был бы очень признателен за помощь. Я тут уже несколько дней мучаюсь. По идее при каждом клике должен быть разный индекс контрола. А у меня почемуто часто выскакивает один и тот же. Использую это выражение для определения индекса контрола по которому кликнули: nrT = Me.Controls.IndexOf(sender) ЗЫ модератор простите, если что нарушил. Всего доброго. ![]() |
|||
|
||||
thicking |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Это все хорошо, но я столкнулся с такой проблемой. У меня на форме имеется Controlbox, в котором находятся35 textbox'ов. Мне нужно при загрузке формы, чтобы все textbox'ы были недоступны, а при нажатии на кнопку (назовем ее "редактировать") они разблокировались. Делал как написано во 2 посте и постоянно получаю пустой массив. Если убрать маску и взять все элементы на форме, то видно что контролы находящиеся внутри Controlbox'а просто игнорируются. Пробовал экспериментировать с Controlbox, но результатов не получил. Очень надеюсь на вашу помощь.
|
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
создай сначала Panel (программно или в дизайне), а уже к ней цепляй свои textbox'ы
для блокирования/разблокирования this.panel1.Enabled = true; // или false ps. что в коде не смотрел (не люблю vb (: ) поэтому ответил как понял вопрос. |
|||
|
||||
thicking |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
т.е. в Controlbox вставляю панель, а в панель все остальное... Я правильно понял?
|
|||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Что такое Controlbox? Это панель? или контейнер? Такого компонента нет в VB... -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
thicking |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
||||
|
||||
-Mikle- |
|
|||
![]() Невидимка Vingrad'а ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1672 Регистрация: 22.6.2003 Где: Казахстан, Астана Репутация: 3 Всего: 59 |
Да, тогда так:
Если ты потом у панели выставишь свойство Enabled = False, то все расположенные на нем контролы станут неактивными. -------------------- Если тебе плюют в спину, значит ты впереди... |
|||
|
||||
thicking |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Так и сделаю, но вопрос все равно остается открытым, так как потом еще все это нужно будет заполнить данными, а тупо описывать каждый textbox с новой строчки очень не удобно
|
|||
|
||||
thicking |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Сделал примерно так:
|
|||
|
||||
![]() ![]() ![]() |
Правила форума VB .NET | |
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |