powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как после создания кнопки прописать в ней событие?
6 сообщений из 6, страница 1 из 1
Как после создания кнопки прописать в ней событие?
    #37813007
Bobax012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел код для создания кнопки:

'Form1 - это форма на которой мы будем создавать кнопку
'VB.CommandButton - означает создание кнопки
Form1.Controls.Add "VB.CommandButton", "Control" & Form1.Controls.Count
Form1.Controls(Form1.Controls.Count - 1).Left = 0 'Расположение слева
Form1.Controls(Form1.Controls.Count - 1).Top = 500 'Расположение сверху
Form1.Controls(Form1.Controls.Count - 1).Width = 2900 'Ширина
Form1.Controls(Form1.Controls.Count - 1).Height = 300 'Длина
Form1.Controls(Form1.Controls.Count - 1).Visible = True 'Сделать объект видным


Form1.Controls(Form1.Controls.Count - 1).Caption = "Я кнопка" 'Текст на кнопке



Кнопка создалась (Control21), как прописать для нее событие, чтобы, допустим, при нажатии на нее выдавало сообщение?
...
Рейтинг: 0 / 0
Как после создания кнопки прописать в ней событие?
    #37813206
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модуль класса Class1
Код: vbnet
1.
2.
3.
4.
5.
Public WithEvents MyCB As VB.CommandButton

Private Sub MyCB_Click()
MsgBox "Я тута!"
End Sub

Модуль формы (допустим, кнопка создается при инициализации формы)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim cl1 As New Class1

Private Sub UserForm_Initialize()
Set cl1.MyCB = Form1.Controls.Add("VB.CommandButton", "Control" & Form1.Controls.Count)
With cl1.MyCB
    .Left = 0 'Расположение слева
    .Top = 50 'Расположение сверху
    .Width = 290 'Ширина
    .Height = 30 'Длина
    .Visible = True 'Сделать объект видным
    .Caption = "Я кнопка" 'Текст на кнопке
End With
End Sub

Делал в VBA Word, там ProgID контролов немного другие. Так что я не на 100% уверен в "As VB.CommandButton".
...
Рейтинг: 0 / 0
Как после создания кнопки прописать в ней событие?
    #37813213
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно обойтись и без отдельного класса, расположив переменную WithEvents в модуле формы.
...
Рейтинг: 0 / 0
Как после создания кнопки прописать в ней событие?
    #37813268
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для одной кнопки - да. А если захочется много контролов программно создать и прописать для них события? Массив WithEvents не объявишь, а массив типа Class1 - можно :)
...
Рейтинг: 0 / 0
Как после создания кнопки прописать в ней событие?
    #37813389
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в своей проге просто делаю кнопку невидимой и ставлю visible=true, когда на форме должна появиться кнопка
...
Рейтинг: 0 / 0
Как после создания кнопки прописать в ней событие?
    #37813538
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КазанскийДля одной кнопки - да. А если захочется много контролов программно создать и прописать для них события? Массив WithEvents не объявишь...Не согласен. Можно вполне объявить массив контролов (когда копируете созданный контрол в VB - обращаете внимание на IDE-шную заявку по поводу создания массива?) и обрабатывать затем события для него...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как после создания кнопки прописать в ней событие?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]