|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
Имеется ленточная форма с областью заголовка и областью примечания,источником формы является запрос SELECT... На области заголовка присутствует комбо, на области примечания кнопка.В обоих случаях (что при перевыборе значения комбо,что при нажатии кнопки-в случае если внесли изменение в комбо а потом сразу нажали кнопку) происходят 2 события ВСЕГДА: 1) комбо_BeforeUpdate 2) комбо_AfterUpdate Можно ли как-то отделить зерна от плевел?Т.е. чтобы программно идентифицировать момент,когда эти 2 события вызваны перевыбором самого значения комбо,а когда это происходит из за того,что нажали кнопку? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 15:39 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty, Использовать переменную на уровне модуля? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 15:49 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
4d_monster drafty, Использовать переменную на уровне модуля? В каком тогда событии присваивать ей значение,ведь если я жму на кнопку у меня все-равно: screen.ActiveControl.Name=Имякомбо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 15:54 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty ведь если я жму на кнопку у меня все-равно: screen.ActiveControl.Name=Имякомбо ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:22 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
Кривцов Анатолий drafty ведь если я жму на кнопку у меня все-равно: screen.ActiveControl.Name=Имякомбо наверное потому,что при нажатии на кнопку,нельзя избежать события обновления комбо(если мы поменяли значение а потом не выходя из комбо-давим на кнопку)... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:26 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty если мы поменяли значение а потом не выходя из комбо-давим на кнопку)... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:29 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty В каком тогда событии присваивать ей значение Код: vbnet 1. 2. 3. 4. 5. 6. 7.
В данном же случае переменные флагов занятости методов следует делать не статическими локальными в обработчике, а локальными в модуле класса (формы): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Состояния флагов (значения переменных) доступны в любом обработчике формы для анализа и ветвления исполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:30 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
__Michelle drafty если мы поменяли значение а потом не выходя из комбо-давим на кнопку)... Да,фокус переносится,но скринэктивконтрол тотже... Хотя похоже,может потому,что у меня в процессе AfterUpdate комбо у меня в этом событии меняется рекордсоурс самой формы (с тем критерием,что на комбо)... Код: vbnet 1. 2. 3.
Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
И поэтому событие кнопки не срабатывает (наверное) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 16:44 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty при нажатии кнопки-в случае если внесли изменение в комбо а потом сразу нажали кнопку ) происходят 2 события ВСЕГДА: 1) комбо_BeforeUpdate 2) комбо_AfterUpdate Вы уверены, что кнопка нажимается? Визуально это заметно? Вы не показали код на комбо_BeforeUpdate и на кнопке. Вполне аероятно, что после "изменение в комбо" выполнение процедур занимает какое-то время и не дает переместить фокус. BeforeUpdate - уж точно. Для анализа добавьте Debug.Print "..." на GotFocus и Click кнопки. Чисто по вопросу "программно идентифицировать" - т.к. на AfterUpdate вы просто вызываете функцию, то вызывайте ее и на Click кнопки. А в функцию добавьте аргумент, через который передавайте имя элемента или другой идентификатор. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 17:31 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, да, действительно,кнопка по факту не нажимается... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2020, 18:12 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
Кривцов Анатолий drafty при нажатии кнопки-в случае если внесли изменение в комбо а потом сразу нажали кнопку ) происходят 2 события ВСЕГДА: 1) комбо_BeforeUpdate 2) комбо_AfterUpdate Вы уверены, что кнопка нажимается? Визуально это заметно? Вы не показали код на комбо_BeforeUpdate и на кнопке. Вполне аероятно, что после "изменение в комбо" выполнение процедур занимает какое-то время и не дает переместить фокус. BeforeUpdate - уж точно. Для анализа добавьте Debug.Print "..." на GotFocus и Click кнопки. Чисто по вопросу "программно идентифицировать" - т.к. на AfterUpdate вы просто вызываете функцию, то вызывайте ее и на Click кнопки . А в функцию добавьте аргумент, через который передавайте имя элемента или другой идентификатор. Дело в том,что у меня событие клик срабатывает только после второго нажатия на кнопку (мне оч стыдно)... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 08:40 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty Кривцов Анатолий пропущено... Видимо выделенное, это ключевая фраза. Вы уверены, что кнопка нажимается? Визуально это заметно? Вы не показали код на комбо_BeforeUpdate и на кнопке. Вполне аероятно, что после "изменение в комбо" выполнение процедур занимает какое-то время и не дает переместить фокус. BeforeUpdate - уж точно. Для анализа добавьте Debug.Print "..." на GotFocus и Click кнопки. Чисто по вопросу "программно идентифицировать" - т.к. на AfterUpdate вы просто вызываете функцию, то вызывайте ее и на Click кнопки . А в функцию добавьте аргумент, через который передавайте имя элемента или другой идентификатор. Дело в том,что у меня событие клик срабатывает только после второго нажатия на кнопку (мне оч стыдно)... Вот механизм,если что (события BeforeUpdate на комбо нету-убрал): Код: 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. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 09:00 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty drafty пропущено... Дело в том,что у меня событие клик срабатывает только после второго нажатия на кнопку (мне оч стыдно)... Вот механизм,если что (события BeforeUpdate на комбо нету-убрал): Код: 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. 48.
...извините за такую "портянку" на весь экран - не знаю как делать опцию "плюсика" которая сворачивает объемный код ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 09:02 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty drafty пропущено... Код: vbnet 1. 2. 3. 4. 5. 6.
Короче кнопка добавления с первого раза не срабатывала потому,что набору таблицы присваивался рекордсоурс после обновления. Теперь срабатывает с первого раза. Всех благодарю за содействие! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 09:34 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 09:51 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
Панург drafty Код: vbnet 1.
Выражение Dao.Recordset("POLNIZAPROS").Recordcount>0,есть ни что иное,как: Код: vbnet 1. 2. 3. 4. 5.
Так нормально? Я же в этой строке специально в коменте написал,что ( Dao.Recordset("POLNIZAPROS") .Recordcount>0) это некая мнемоника(чтобы не писать "лишнее") ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 10:35 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
drafty это некая мнемоника drafty Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 11:14 |
|
Как узнать какое событие инициировало вызов другого события
|
|||
---|---|---|---|
#18+
Панург drafty это некая мнемоника drafty Код: vbnet 1.
Нет,не знаю,пока не сталкивался с подобным... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2020, 11:49 |
|
|
start [/forum/topic.php?fid=45&fpage=19&tid=1610189]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 296ms |
total: | 430ms |
0 / 0 |