Большой проект, куча форм с таблицами. Заказчик хочет, чтобы таблицы по своему отзывались на табуляцию, энтер и так далее. Возникает вопрос, как это реализовать? Если к примеру работать по типу такого (по энтеру нужно произвести каке-то действия и оставть выделенной текущюю ячейку):
Код:
То все отлично, за исключением того, то фокус ввода переходит нижележащей строке... Как от этого избавиться? Надо залочить обработчик ентера у самого грида, но как к нему подступиться?
S>То все отлично, за исключением того, то фокус ввода переходит нижележащей строке... Как от этого избавиться? Надо залочить обработчик ентера у самого грида, но как к нему подступиться?
S>ЗЫ: Ребят, выручайте, надо было сделать еще вчера
Думаю, проще всего написать наследника, переопределить стандартный Behavior и вынести его в настройки
Re[2]: DataGridView изменение стандартного поведения
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, Shkolik, Вы писали:
S>>То все отлично, за исключением того, то фокус ввода переходит нижележащей строке... Как от этого избавиться? Надо залочить обработчик ентера у самого грида, но как к нему подступиться?
S>>ЗЫ: Ребят, выручайте, надо было сделать еще вчера
B>Думаю, проще всего написать наследника, переопределить стандартный Behavior и вынести его в настройк
В общем-то да, так и есть, но проблема в том, что проект очень большой... куча форм с гридами — если делать наследника, то придется перелопачивать весь код Изначально планировалась функция, общая для всех гридов, для определения их поведения (в функцию передается ссылка на грид и режим редактирования), но возникла вышеописанная проблема.
Может есть другие варианты?
Re[3]: DataGridView изменение стандартного поведения
Здравствуйте, Shkolik, Вы писали:
S>Здравствуйте, baranovda, Вы писали:
B>>Здравствуйте, Shkolik, Вы писали:
S>Может есть другие варианты?
Мне кажется, без наследника никак. Стандартный бихейвор обработки нажатия клавиш событиями подменить вряд ли получится (это если использовать утилитный класс), а вот в OnKeyDown или на худой конец, в WndProc — гарантированно.
Re[4]: DataGridView изменение стандартного поведения
Здравствуйте, baranovda, Вы писали:
B>Здравствуйте, Shkolik, Вы писали:
S>>Здравствуйте, baranovda, Вы писали:
B>>>Здравствуйте, Shkolik, Вы писали:
S>>Может есть другие варианты?
B>Мне кажется, без наследника никак. Стандартный бихейвор обработки нажатия клавиш событиями подменить вряд ли получится (это если использовать утилитный класс), а вот в OnKeyDown или на худой конец, в WndProc — гарантированно.
Понятно, спасибо за помощь. Жаль что нет другого варианта... придется менять целую кучу кода Ну чтож, буду разбираться. Еще раз спасибо.
Здравствуйте, Shkolik, Вы писали:
S>Есть такая проблема:
S>Большой проект, куча форм с таблицами. Заказчик хочет, чтобы таблицы по своему отзывались на табуляцию, энтер и так далее. Возникает вопрос, как это реализовать? Если к примеру работать по типу такого (по энтеру нужно произвести каке-то действия и оставть выделенной текущюю ячейку): S>Код:
S>То все отлично, за исключением того, то фокус ввода переходит нижележащей строке... Как от этого избавиться? Надо залочить обработчик ентера у самого грида, но как к нему подступиться?
S>ЗЫ: Ребят, выручайте, надо было сделать еще вчера
Теоретически нет разницы между теорией и практикой, но на практике она есть
Re[2]: DataGridView изменение стандартного поведения
Здравствуйте, seimur, Вы писали:
S>Здравствуйте, Shkolik, Вы писали:
S>>Есть такая проблема:
S>>Большой проект, куча форм с таблицами. Заказчик хочет, чтобы таблицы по своему отзывались на табуляцию, энтер и так далее. Возникает вопрос, как это реализовать? Если к примеру работать по типу такого (по энтеру нужно произвести каке-то действия и оставть выделенной текущюю ячейку): S>>Код:
S>>То все отлично, за исключением того, то фокус ввода переходит нижележащей строке... Как от этого избавиться? Надо залочить обработчик ентера у самого грида, но как к нему подступиться?
S>>ЗЫ: Ребят, выручайте, надо было сделать еще вчера
Спасибо, частично решило проблему. Но в будующем видимо придется написать свой контрол, тк есть элементы поведения, которые DGV обеспечить не может...