Страница: 1 |
Страница: 1 |
Вопрос: Динамическое добавление контрола...
Добавлено: 28.08.04 11:48
Автор вопроса: danser | ICQ: 299287824
Как програмно создать и добавить n-ЧекБоксов(CheckBox) на панель(форму) в цикле? (Количество елементов стаёт ясным в процесе работы приложения)
Пробывал так, создается один обэкт...
For i = 0 To 20
Dim Control As New CheckBox()
Control.Name = "RB" & i.ToString
Control.Text = "My number " & i.ToString
'Устанавливаем позицию и тд...
Me.PanelVar.Controls.Add(Control)
Next
Ответы
Всего ответов: 10
Номер ответа: 1
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #1
Добавлено: 28.08.04 17:08
Добавь один CheckBox, установи свойство Index = 0, потом в цикле Load CheckBox(i)
Номер ответа: 2
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #2
Добавлено: 28.08.04 19:03
Попробуй так:
Dim Ctrl As CheckBox
For i = 0 To 20
Ctrl = New CheckBox()
Ctrl.Name = "RB" & i.ToString
Ctrl.Text = "My number " & i.ToString
Me.PanelVar.Controls.Add(Ctrl)
Next
Если не пойдет, то покажи, как ты ставишь размеры и позицию элементов.
Очень возможно, что они просто один над другим ставятся и ты всех их
не видишь.
Номер ответа: 3
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #3
Добавлено: 28.08.04 19:18
Точно уже не помню, но по моемому он создаёт их невидимыми. Попробуй Visible=True.
Или можешь скачать пример с моего сайта. Там правда для меток, но это не суть важно.
Номер ответа: 4
Автор ответа:
danser
ICQ: 299287824
Вопросов: 76
Ответов: 209
Профиль | | #4
Добавлено: 28.08.04 21:57
Пробывал, всё не то:
Control.Visible = True
Control.Top = 100 * i
Всё не то... раз обявив переменную и всё тут. Каждый раз она заново инициализируется
Что делать?
Может нужно использовать рекурсию?
На щёт примера с метками на твоем сайте, кинь ссылку, плз.
Номер ответа: 5
Автор ответа:
cresta
Вопросов: 117
Ответов: 1538
Профиль | | #5
Добавлено: 28.08.04 22:38
Поиском по сайту быстрее найдёшь, эта тема обсуждалась 572 раза.
Номер ответа: 6
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #6
Добавлено: 28.08.04 22:43
http://basicproduction.nm.ru/LblCstm.zip
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 28.08.04 22:44
А, .NET, я не знаю как тебе делать.
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 29.08.04 02:11
Давай сюда полный код, не может быть, чтоб не работало - я в своей
программе писал, все работало элементарно...
Номер ответа: 9
Автор ответа:
freeloader
ICQ: 50804884
Вопросов: 72
Ответов: 642
Web-сайт:
Профиль | | #9
Добавлено: 29.08.04 04:36
Вот полностью рабочий код:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.WindowState = FormWindowState.Maximized
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 im Ctrl As TextBox
 im i As Integer
 im point As System.Drawing.Point
 im schet As Integer
For i = 0 To 15
schet += 15
Ctrl = New TextBox
Ctrl.Visible = True
Ctrl.Name = "TB" + i.ToString
Ctrl.Text = "TextBox"
Ctrl.Width = 50
Ctrl.Height = 50
point.X = 25
point.Y = schet
Ctrl.Location = point
Me.Controls.Add(Ctrl)
Next
End Sub
Номер ответа: 10
Автор ответа:
danser
ICQ: 299287824
Вопросов: 76
Ответов: 209
Профиль | | #10
Добавлено: 29.08.04 12:03
Да-а-а лоханулся...
Проблема была в моей несообразительности.
Просто один Контрол я хотел настроить в дизайнере(что б и наглядно и проще)...
В цикле я новому контролу присваивал созданий заранее, думал дурак, перекинутся только свойства. А оно не только свойства...
Спасибо за пример и извините за неострожность в следующий раз буду повнимательней.
И еще раз уж я здесь:
Как програмно изменить текст ToolTip/
То есть добавил я его и в свойствах елемента добаляеться свойство ToolTip on ToolTip1/ Как это свойство изменить?
Из КВН:
-S1 Вы поменяете пачку Stimorol на две пачки обычной жвачки?
-S2 Не-а
-S3 А на три?
-S2 Не-а
-S1 А на ящик?
-S2 Низачто!
-S1 Ну как знаешь...
.............................................
-S2 Да-а-а лоханулся...