Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Обработка нажатия кнопок на форме Добавлено: 28.08.09 01:27  

Автор вопроса:  Swarok
Люди, плиз, нужна помощь, ибо торможу.
У меня есть форма, на которой присутствует большое количество кнопок. Помогите пожалуйста с кодом, который бы обрабатывал нажатие любой (!) кнопки (CommandButton) на этой форме. Так, чтобы не писать код для каждой.
Заранее спасибо

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 28.08.09 03:00
В вба нет массива контролов.
Мы тут както рассматривали большое кол-во конролов на форме вба, но помоему не обработку событий.

Ответить

Номер ответа: 2
Автор ответа:
 AngryBadger



Вопросов: 33
Ответов: 245
 Профиль | | #2 Добавлено: 28.08.09 09:46
Я, например, пишу код в отдельном модуле, а потом для каждой кнопки

Private Sub CommandButton1_Click()
    Call MyCode
End Sub
Private Sub CommandButton2_Click()
    Call MyCode
End Sub
Private Sub CommandButton3_Click()
    Call MyCode
End Sub

Ответить

Номер ответа: 3
Автор ответа:
 fifa36



Вопросов: 33
Ответов: 116
 Профиль | | #3 Добавлено: 28.08.09 12:58
А можно ведь написать публичную процедуру в "Модуле" и в свойствах обработки событий "Нажатие кнопки" указать эту процедуру. Хотя может я ошибаюсь)

Ответить

Номер ответа: 4
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #4 Добавлено: 28.08.09 13:07
Нет массива контролов, зато есть массив as Variant. Писать в отдельном модуле, а ещё лучше в модуле класса - это по моему наилучший вариант.

Ответить

Номер ответа: 5
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #5 Добавлено: 28.08.09 13:11
Можно и в самой форме написать публичную процедуру и тогда

Private Sub CommandButton1_Click()
    call me.ёй(1)
End Sub
Private Sub CommandButton2_Click()
    call me.ёй(2)
End Sub
Private Sub CommandButton3_Click()
    call me.ёй(3)
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Swarok



Вопросов: 1
Ответов: 3
 Профиль | | #6 Добавлено: 11.09.09 17:57
Не ребята, так как вы предлагаете проблему я решать не стал
1. Я создал класс, в котором обрабатывается нажатие кнопки как таковой
2. Кнопки, существующие на форме, добавляются в массив этого класса при помощи цикла
3. Тогда нажатие на любую кнопку приводит к тому, что запускается стандартная процедура
Если кому-то интересны подробности, напишите, я приведу пример кода

Ответить

Номер ответа: 7
Автор ответа:
 GDK



Вопросов: 13
Ответов: 348
 Профиль | | #7 Добавлено: 11.09.09 20:32
Типа WithEvents? Ну так ваще молодец.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам