С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 92

Как создать элементы управления динамически?

27.11.2011, 13:34. Показов 2568. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как создать элементы управления на форме динамически (радиобаттоны).
Суть задания: анализируя таблицу в датасете, создать столько радиобаттонов, сколько строк в таблице.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.11.2011, 13:34
Ответы с готовыми решениями:

HELP: Как динамически создавать элементы управления ?
Нужно динамически (программно) создавать элементы управления (Label), а не получается :( Подскажите, пожалуйста, как !

Как загрузить динамически в форму элемент управления?
Можно ли во время работы в форму загрузить какой нибудь ЭУ, CoomandButton, и как это сделать?

Как динамически добавить массив эл-тов управления?
Надо добавить на форму массив текстбоксов заранее сэнкс

18
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 14:41
тут правда лейбл, и может что лишнее, примерно так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Set Label1 = Me.Controls.Add(bstrProgID:="Forms.Label.1")
 
        '''''''''''''''''''''''''''''''''''''''
        'добавление других элементов управления
        'Check - BoxForms.CheckBox.1
        'ComboBox - Forms.ComboBox.1
        'CommandButton - Forms.CommandButton.1
        'Frame - Forms.Frame.1
        'Image - Forms.Image.1
        'Label - Forms.Label.1
        'ListBox - Forms.ListBox.1
        'MultiPage - Forms.MultiPage.1
        'OptionButton - Forms.OptionButton.1
        'ScrollBar - Forms.ScrollBar.1
        'SpinButton - Forms.SpinButton.1
        'TabStrip - Forms.TabStrip.1
        'TextBox - Forms.TextBox.1
        'ToggleButton - Forms.ToggleButton.1
        ''''''''''''''''''''''''''''''''''''
 
        Label1.Visible = True
 
        'цифра 55 высчитана эксперементальным путём
        If Len(ActiveDocument.Path) > 55 Then
            Label1.Height = 90
        Else
            Label1.Height = 70
        End If
 
        Label1.Width = 350
        Label1.Top = 275
        Label1.Left = 12
        'размер шрифта на кнопке
        Label1.Font.Size = 12
Вопрос в другом кто-нибудь знает как к созданным контролам сразу обработчик вешать
А модераторы скажут - Ципихович Эндрю не лезь, создай свою, раз 5 спрашивал и во многих местах, внятного ответа не получил, и форумчане добавляются, но это ведь это по теме, вот и автор подтвердит, да?
Она мне подмигнула, значит да!!!
1
0 / 0 / 0
Регистрация: 21.04.2011
Сообщений: 92
27.11.2011, 14:49  [ТС]
Спасибо)
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 14:52
неа, спасибо мало, надо присоединится
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Вопрос в другом кто-нибудь знает как к созданным контролам сразу обработчик вешать
мол, очень нужно, ОК??
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
27.11.2011, 15:01
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
как к созданным контролам сразу обработчик вешать
это как, типа процедуру к ним сразу писать, как то не въеду сходу
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 15:27
конечнооооооооооо
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
27.11.2011, 15:51
вариант: создать коды заранее, они при отсутствии контролов не мешают (только во место занимают)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Dim n, i
Private Sub Command1_Click(Index As Integer)
If i = 0 Then
For i = 1 To n - 1
Load Command1(i)
Command1(i).Top = Command1(i - 1).Top + Command1(0).Height
Command1(i).Left = Command1(i - 1).Left + Command1(0).Width
Command1(i).Visible = True
Command1(i).Caption = "Command" & i
Next
Else
'Command1_MouseDown
'или
'Label1 = "Вы нажали Command" & Index
End If
End Sub
 
 
 
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Index
Case Index
Label1 = "Вы нажали Command" & Index
End Select
End Sub
 
 
 
Private Sub Form_Load()
n = 10
Command1(0).Top = 0: Command1(0).Left = 0
Command1(i).Caption = "Command" & 0
 
Me.Width = n * Command1(0).Width
Me.Height = (n + 1) * Command1(0).Height
Label1.Left = Me.Width - Label1.Width
Label1.Top = 0
10
End Sub
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 15:58
Цитата Сообщение от gaw Посмотреть сообщение
вариант: создать коды заранее, они при отсутствии контролов не мешают (только во место занимают)
этот вариант мне известен, им пользуюсь, когде же кто-там рулит поймёт, что не помешало бы больше
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.11.2011, 16:02
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Вопрос в другом кто-нибудь знает как к созданным контролам сразу обработчик вешать
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Public WithEvents Label1 As Label
 
Public Sub Form_Load()
    Set Label1 = Me.Controls.Add("VB.Label", "Label1")  ', ContainerObject
    With Label1
       .Caption = "ksjksjkljsd"
       .AutoSize = True
       .Visible = True
    End With
End Sub
 
Private Sub Label1_Click()
    MsgBox Label1.Name & "_click()"
End Sub
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 16:46
Vovan-VE, это то же самое, что у gaw'а
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.11.2011, 16:52
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
это то же самое, что у gaw'а
Ничего подобного.
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 17:00
как ничего подобного, у Вас код уже припасён, прописан, а не создаётся, или поясните
Я то жду
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
 Set Label1 = Me.Controls.Add("VB.Label", "Label1")  ', ContainerObject
    With Label1
       .Caption = "ksjksjkljsd"
       .AutoSize = True
       .Visible = True
       .Script = {
        ....................
..................
...................
//по мотивам джавы
}
 
    End With
Если не трудно, посоветуйте MS
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.11.2011, 17:09
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
у Вас код уже припасён, прописан, а не создаётся
А Вам еще и код создавать динамически надо?

Добавлено через 7 минут
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
//по мотивам джавы
Там Вы его точно так же сначала создаёте, а потом используете. Иначе ему откуда взяться вообще?
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 17:12
типа, кнопку добавили - вагон угля разрузили, а тут ЦЭ просит второй разрузить, конечно надо, а что толку от кнопки, размер сказали кнопке, а что делать не сказали
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Иначе ему откуда взяться вообще?
ну я же пишу


Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
.Script = {
....................
..................
...................
//по мотивам джавы
}
одним словом
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Если не трудно, посоветуйте MS
Куда ни кинь, всюду клин ...
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.11.2011, 17:21
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну я же пишу
А вот Вы мне теперь разъясните принципиальную разницу (забыв про синтаксисы разных языков программирования), какая разница, где писать код - в отдельных процедурах, или в анонимных процедурах? Что там код обработчика, что здесь код обработчика. Те же яйца, только в другом холодильнике.

Ну вот ну нету в Вашем любимом бейсике анонимных функций/процедур, хоть ты тресни.
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 18:03
Цитата Сообщение от Vovan-VE Посмотреть сообщение
А вот Вы мне теперь разъясните принципиальную разницу
Цитата Сообщение от Vovan-VE Посмотреть сообщение
какая разница, где писать код
ОК - на этом и остановимся, пусть мне дадут выбор, я сам выберу где

Цитата Сообщение от Vovan-VE Посмотреть сообщение
Ну вот ну нету в Вашем любимом бейсике анонимных функций/процедур, хоть ты тресни.
жалко

Добавлено через 40 минут
Vovan-VE, я понял почему Вы меня не допонимаете, смысл в том, что добавление контролов это в цикле и изначально я не знаю сколько их будет, и поэтому я должен припасти кодов штук ...., ранеее говорили тьма
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.11.2011, 18:06
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
добавление контролов это в цикле и изначально я не знаю сколько их будет
Если в цикле, значит все однотипные по смыслу, значит массив, как ранее предлагали.
0
1711 / 578 / 76
Регистрация: 10.04.2009
Сообщений: 9,300
27.11.2011, 18:07
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
и поэтому я должен припасти кодов штук ...., ранеее говорили тьма
вот где соль!!!!!!!!!!! - бесит этот припас
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
27.11.2011, 18:12
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
вот где соль!!!!!!!!!!! - бесит этот припас
А как иначе? Откуда иначе код возмется? Не из вакуума же он телепортируется. Не может прога в 1 байт захватить вселенную. Никогда е это не удастся без сторонней помощи.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2011, 18:12
Помогаю со студенческими работами здесь

Как динамически создавать элементы управления ?
Нужно динамически (из программы на VBA) создовать элементы управления (Label), а не получается :( Подскажите, пожалуйста, как !

Как динамически создать элемент управления на Panel
Public Class Form1 'Создаем массив текстовых полей Dim TextBoxes() As TextBox = New TextBox(19) {} Private Sub...

Как создать свои элементы управления
Как можно создать свои элементы управления ? К примеру собственный textbox, combobox с их параметрами, только вот по внешности другие ? ...

Как динамически создать массив из динамически конструируемых экземпляров класса?
Есть два класса.Подразумевается ,что первый в конструкторе выделяет интовый массив длинной n,второй выделяет массив экземпляров первого...

Создать программу динамически добавляющую элементы на форму
Создать программу динамически добавляющую несколько меток и полей ввода на форму.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru