|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
Доброго времени суток форумчане! Хочу иметь единый обработчик событий для всех Button-ов созданных мною динамически. Код: vbnet 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. 40.
Первое создание кнопки с AddHandler-ом проходит успешно, что не удивительно. Второй такой же номер уже не проходит так как, я думаю, AddHandler iButton.Click, AddressOf ParentForm0.iButton_Click уже создан и второй раз это провернуть не выйдет. Пытался найти решение этой проблемы путем проверки на предмет существования AddHandler iButton.Click, AddressOf ParentForm0.iButton_Click, но ничего не нашёл. Возможно я идеологически иду неверным путем и так вообще никогда нормальные люди не поступают. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 15:36 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
Все правильно делаешь, должно работать. У меня в цикле вызывается такая функция, и все нормально: Код: vbnet 1. 2. 3. 4. 5.
Попробуй Dim iButton As New Button With {.Name = iName} А еще можешь написать, с какими ошибками "не проходит". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 16:13 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
MAGRAV, перечитайте сообщение об ошибке... там поди InvalidCastException? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2016, 16:27 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
Во всём разобрался. Проблема была в другом. В таком случае я просто приведу пример как я работаю с динамически созданными Control-ами и их событиями на примере ComboBox. Код: vbnet 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. 40. 41. 42. 43. 44. 45. 46. 47.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 09:59 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
MAGRAVя просто приведу пример как я работаю с динамически созданными Control-ами и их событиями на примере ComboBox А зачем вы создаете контролы динамически? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 10:57 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
Cat2, По большей части так из спортивного интереса почти все элементы управления добавляю именно таким способом. Больше неприятностей от этого. Разве что греет мысль, что если придётся переезжать на СИ-языки то возни с конструктором будет меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 11:24 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
Cat2MAGRAVя просто приведу пример как я работаю с динамически созданными Control-ами и их событиями на примере ComboBox А зачем вы создаете контролы динамически? Меня больше интересует как он потом их выравнивает и прилепляет к другим контролам/контейнерам в формах с достаточно сложным UI. Как потом накручивает БЛ к ним. Как высчитывает нужные размеры и т.д. Имхо такое надо пресекать на начальном этапе. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 11:40 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
LameUser, Боюсь что устану все-все рассказывать. Но вот хотябы самое очевидное: Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2016, 14:57 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
MAGRAVLameUser, Боюсь что устану все-все рассказывать. Но вот хотябы самое очевидное: Код: vbnet 1. 2. 3. 4.
Если бы делали нормально - не пришлось бы. Я пытаюсь понять в чем же такая необходимость писать ручками код, который автоматически генерируется дизайнером (про отладку умолчим). Вы не думали, что помимо вас потом с этим проектом могут работать другие разработчики? Как вы думаете они отнесутся к вашей самодеятельности? Я особенно люблю вот такие волшебные, неименованные константы в такого рода поделках. Код: c# 1.
Я почти уверен, что если вы не будете работать в проекте год и потом откроете это место - то вы вряд ли вспомните назначение этих волшебных цифр. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 12:00 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
LameUser, Софтина не совсем стандартная. В ней реализуются много разных сценариев которые сложно увязать в один интерфейс. Поэтому и иду путём такого вот кукольного театра. Не хотелось плодить много Form со всеми необходимыми контролами. Мне бы это никак не упростило жизнь. У заказчика много противоречивых требований и как-то лаконично и красиво их увязать в одном интерфейсе та ещё задачка. Долгострой. Факультатив почти. Код: vbnet 1.
Это очень понятная запись. Она хранит в себе инфу о расположении и размерах контролов, которые как бы раньше идут по координате Х ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 12:56 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
LameUser, Говорил же, что вероятно будет необходимость перезжать на другой язык и быстро. Был у меня уже опыт написания многооконного приложения с кучей контролов. Так вот когда этот красивосложенный мамонт на VB6 состарился окончательно, что-то в его контролах уже никак не поддавалось конвертации на более новую платформу. Намучался я тогда. Не все приложения должны быть похожи на MS Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 13:05 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2016, 13:12 |
|
Единый AddHandler для всех Control-ов созданных динамически
|
|||
---|---|---|---|
#18+
MAGRAVLameUser, Софтина не совсем стандартная. В ней реализуются много разных сценариев которые сложно увязать в один интерфейс. Поэтому и иду путём такого вот кукольного театра. Не хотелось плодить много Form со всеми необходимыми контролами. Мне бы это никак не упростило жизнь. У заказчика много противоречивых требований и как-то лаконично и красиво их увязать в одном интерфейсе та ещё задачка. Долгострой. Факультатив почти. Не думали применить тот же шаблон "стратегия" и разработать некий обобщенный интерфейс, состоящий из 2-3х форм под него? Ведь вы же по сути дела тратите свое время на работу дизайнера, вместо того чтобы тратить свои усилия на реализацию нормального варианта. Я вот чую, что вы идете неверной дорогой. Решать конечно вам, я лишь "рекомендую" взглянуть на возможность реализации под другим углом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 07:16 |
|
|
start [/forum/topic.php?fid=20&msg=39238182&tid=1400592]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 121ms |
0 / 0 |