Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
206 / 13 / 2
Регистрация: 10.10.2009
Сообщений: 154

Не срабатывает Label _Click при программном создании Label на UserForm

29.06.2012, 21:04. Показов 4646. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!

После программного создания Label:

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
With UserForm7.Controls.Add(bstrProgID:="Forms.Label.1", Name:="Label8", Visible:=True)
    .AutoSize = False
    .BackColor = &HC0C0FF
    .BackStyle = 1
    .BorderColor = &H80000006
    .BorderStyle = 0
    .Caption = "      Нет"
    .Enabled = True
    .Font.Name = "Algerian"
    .Font.Size = 14
    .ForeColor = &H80000008
    .Height = 18
    '.HelpContextID = 0
    .Left = 336
    .MousePointer = 0
    .PicturePosition = 7
    .SpecialEffect = 6
    .TabIndex = 4
    '.TabStop = False
    .TextAlign = 1
    .Top = 156
    .Visible = True
    .Width = 60
    .WordWrap = True
  End With
не срабатывает Label_Click (макрос не запускается):

Visual Basic
1
2
3
Private Sub Label8_Click()
Unload Me
End Sub
При ручном перемещении Label на UserForm обработка события Label_Click работает.

Вопрос, – какой код будет запускать макрос Private Sub Label8_Click()
при программном создании Label на UserForm?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.06.2012, 21:04
Ответы с готовыми решениями:

Несовпадение кодировки при программном создании надписи на Label
Всем доброго времени суток! На компьютере с неновой версией Windows XP не срабатывает кодировка шрифта при программном создании...

Странная ошибка при обновлении значения Label на UserForm
Добрый день! Вот такая проблема: Запускаем главный макрос, появляется форма с Label и ProgressBar. В Label - отображается текст, что...

Проблема с выводом текста в Label при динамическом создании
Здравствуйте уважаемые коллеги! :senor: Столкнулся с необычной проблемой: при динамическом создании Label "съедается" часть...

6
 Аватар для programm1r
48 / 47 / 7
Регистрация: 19.06.2012
Сообщений: 134
29.06.2012, 21:09
Я VBA не знаю, но разве в нем не надо указывать что Label8_Click() как то относится именно к Label8?
1
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
29.06.2012, 21:26
Как проверить, в каком из Checkbox пользователь сделал выбор?
и далее по ссылкам.
1
206 / 13 / 2
Регистрация: 10.10.2009
Сообщений: 154
29.06.2012, 21:29  [ТС]
Может и нужно указать. Но если необходимо, то как указать?
0
206 / 13 / 2
Регистрация: 10.10.2009
Сообщений: 154
11.07.2012, 00:11  [ТС]
Пробный код:

Модуль класса - LblClass

Visual Basic
1
2
3
4
5
6
7
Option Explicit
 
Public WithEvents LabelGroup As msforms.Label
                                        
Private Sub LabelGroup_Click()
All_print_all_Rnk
End Sub
На форме

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
 
Dim Labels As New Collection
 
Private Sub UserForm_Initialize()
    Dim LblClsIns As LblClass
    Dim ctl As Control
    
'   Создание объектов label
    For Each ctl In UserForm1.Controls
        If TypeName(ctl) = "Label" Then
                Set LblClsIns = New LblClass    'новый экземпляр класса LblClass
                Set LblClsIns.LabelGroup = ctl  'связывание его с контролом
                Labels.Add LblClsIns            'добавление его к коллекции
            End If
        End If
    Next ctl
End Sub

Общий модуль

Visual Basic
1
2
3
4
5
Sub All_print_all_Rnk()
For Each LblClsIns In Labels
    If LblClsIns.LabelGroup Then MsgBox "ого"
Next
End Sub
для связывания программно созданного Label с Label_Click() на UserForm запускается, однако Click по Label не срабатывает. Другие варианты и расстановки не дали результата. Что необходимо изменить в этом коде для связывания программно созданного Label с Label_Click() на UserForm?
0
206 / 13 / 2
Регистрация: 10.10.2009
Сообщений: 154
11.07.2012, 02:57  [ТС]
Модуль класса - LblClass

Visual Basic
1
2
3
4
5
6
7
Option Explicit
 
Public WithEvents LabelGroup As msforms.Label
                                        
Private Sub LabelGroup_Click()
All_print_all_Rnk
End Sub
На форме

Option Explicit

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim Labels As New Collection
 
Private Sub UserForm_Initialize()
    Dim LblClsIns As LblClass
    Dim ctl As Control
    
    set Labels=new collection
 
'   Создание объектов label
    For Each ctl In UserForm1.Controls
        If TypeName(ctl) = "Label" Then
                Set LblClsIns = New LblClass    'новый экземпляр класса LblClass
                Set LblClsIns.LabelGroup = ctl  'связывание его с контролом
                Labels.Add LblClsIns            'добавление его к коллекции
            End If
        End If
    Next ctl
End Sub
Общий модуль
Visual Basic
1
2
3
4
5
6
7
Public Labels As Collection
 
Sub All_print_all_Rnk()
For Each LblClsIns In Labels
    MsgBox "ого"
Next
End Sub
Так есть продвижение, работает Label_Click(), однако не программно созданный.
1
 Аватар для SlavaRus
1124 / 237 / 37
Регистрация: 15.03.2010
Сообщений: 728
11.07.2012, 09:12
Если ты програмно добавляешь контрол на форму, то наверное его надо запихнуть в коллекцию в событии UserForm_AddControl. Его в момент инициализации формы еще нет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.07.2012, 09:12
Помогаю со студенческими работами здесь

Работа с Label в UserForm
Всем привет!!! Подскажите пожалуйста, как сделать так, чтоб в Label высвечивалась ячейка с данными за текущий месяц? Заранее спасибо!!!

click() на label, или аналог
Нужно организовать клик на надпись с рич текстом. Был вариант сделать QPushButton с пустым фоном, но она не поддерживает красивый шрифт....

Форматирование текста Label.Caption в UserForm (дата, финансовый, процентный и тд)
Доброго времени суток! Подскажите, пожалуйста, возможно ли изменить формат отображения данных Label.Caption в UserForm? Например,...

При наличии "=" в Label при нажатии цифры очищать TextBox и Label?
что нужно дописать, чтобы при наличии "=" в label при нажатии цифры очищалось и textBox и label? и вводилось заново и в textBox, и label? ...

Элемент Label, поддерживающий событие Click как у Button
У меня возник вопрос: как реализовать метку (типа Label), но поддерживающую событие Click как в ButtonBase / Button ?


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru