Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > KeyDown более подробно!


Автор: NURMS 6.6.2007, 12:12
Всем Здрасте.

Тут вот какое дело. Считывание нажатой клавиши идёт так:

        public Form1()
        {
            InitializeComponent();

            KeyDown += new KeyEventHandler(Form1_KeyDown);
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show(e.KeyCode.ToString());            
        }

Но это работает только тогда, когда форма пуста. Т.е. при добавлении textBox, webBrowser и даже button, он уже не показывает нажатую кнопку.

       И чё мне делать?

Автор: Retro 6.6.2007, 12:19
Цитата(NURMS @  6.6.2007,  11:12 Найти цитируемый пост)
 И чё мне делать?

Очевидно проверять на каком элементе формы стоит фокус. И если не тем где нужно то принудительно его устанавливать.

Автор: emmanuil 6.6.2007, 13:07
Думаю, достаточно у формы свойство KeyPreview сделать = true.

P.S.
KeyDown += new KeyEventHandler(Form1_KeyDown);
- а разве обработчик события еще не прицеплен? Конечно если у Вас 2005 студия и Вы его сами не грохнули.

Автор: NURMS 8.6.2007, 20:19
 
    Ага. Круто. Сработало. Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)