Как да накарате клавиша Enter да работи подобно на Tab - преминете към следващата контрола,
Вече направих това, но сега ще намерите това парче код, ще го потърсите в Google отново ... Къде мога да намеря просто и разбираемо ръководство за начинаещ, а не тънкости за мега-гуру?
Последни записи
- Uladzimir на C#, Interop.Word - грешка "Не може да се осъществи достъп до отделни редове, защото таблицата има вертикално обединени клетки."
- JosephLak за това как да добавите ред/текст към началото на файл в C# и .Net
- Тома върху хиляда и десетичен разделител за десетичен знак
- fer на запис Работа с MS Word от C#, част 1. Отваряне на шаблона, търсене на текст в документа
- Сергей по C# урок за начинаещи. 02. Функции, класове, обекти, колекции
Как да накарате клавиша Enter да работи подобно на Tab - преминете към следващата контрола
Клиентът иска потребителят да премине към следващата контрола след натискане на Enter, подобно на натискане на Tab. Основната идея е проста - прихващаме натискането на клавиш Enter и изпращаме натискането на Tab към формата, но има една тънкост - ако искаме да зададем това поведение за цялата форма наведнъж, а не за някои конкретни контроли, трябва да настроим свойството KeyPreview на true.
След това окачваме кода на съответното събитие на нашата форма, избрах KeyUp, използвайки свойството KeyCode на параметъра KeyEventArgs:
Горното обвързване може да доведе до интересен проблем, ако го внедрим в диалогов прозорец, извикан от друга форма, и отидем до него, като натиснем Enter на бутона за извикване на диалоговия прозорец (родителската форма може да работи по подобен начин). В този случай диалоговият прозорец ще получи KeyUp, последван от Tab, когато се натисне бутонът (Enter) на родителския формуляр (иведнага преминава към следващата контрола). Няма обяснение за такова чудно чудо на природата, има лек - абонираме се за събитието KeyPress, което се случва само когато елементът е на фокус. Малък проблем, класът KeyPressEventArgs няма свойство KeyCode, има само KeyChar, така че ще трябва да определите натиснатия клавиш малко по-различно: