Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Область отсечения по ячейке DataGridView
|
|||
|---|---|---|---|
|
#18+
В DataGridView имеется колонка с ComboBox'ами. Необходимо задать область отсечения (Cursor.Clip) по ячейке из этой колонки при ее редактировании. Пробовал двумя способами: через событие CellPainting и через событие Enter, которое происходит при редактировании ComboBox'а из столбца (посредством события EditingControlShowing). Через событие CellPainting: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Через событие Enter: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. В обоих случаях алгоритм работает, если число прибавляемое к координате Left+= 600, но координаты отсечения тогда не попадают на нужную ячейку. Если увеличивать слагаемое до 700 и выше программа ведет себя так как будто отсечения области курсора нет совсем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2021, 11:36 |
|
||
|
Область отсечения по ячейке DataGridView
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2021, 11:37 |
|
||
|
Область отсечения по ячейке DataGridView
|
|||
|---|---|---|---|
|
#18+
Есть экранные координаты, есть клиентские координаты. Возможно, проблема в них. В разных местах используются те или иные. Нужно их пересчитывать по необходимости. Смотри методы PointToScreen, RectangleToScreen, PointToClient, RectangleToClient. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2021, 16:59 |
|
||
|
Область отсечения по ячейке DataGridView
|
|||
|---|---|---|---|
|
#18+
petalvik, Немного причесал код, но проблема осталась та же. Есть предположение, что проблема в том, что при редактировании ячейки DataGridView создается отдельный компонент ячейки, которая отображается поверх редактируемой и с которой работает EditingControlShowing. Как только курсор заходит на координаты новой ячейки он попадает в область нового компонента и для него перестают работать настройки курсора предыдущего компонента. Может у кого есть идеи как это исправить? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2021, 21:13 |
|
||
|
Область отсечения по ячейке DataGridView
|
|||
|---|---|---|---|
|
#18+
В дальнейшем выяснилось, что отсечение не работает вообще во всей программе и без каких либо условий. Вариант в первом сообщении работал, но не попадал в нужную ячейку. Увеличение координаты Х ведет к тому, что отсечение просто не срабатывает. Есть подозрения, что дело в настройках формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2021, 03:43 |
|
||
|
|

start [/forum/topic.php?fid=20&fpage=2&tid=1398232]: |
0ms |
get settings: |
13ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 270ms |
| total: | 416ms |

| 0 / 0 |
