Использование клавиши ввода для проверки флажков в C # .NET - PullRequest
1 голос
/ 01 февраля 2010

Я хочу использовать клавишу Enter вместо клавиши пробела, чтобы установить флажки ..

private void Form2_KeyDown(object sender, KeyEventArgs e)
        {
            CheckBox c1 = this.ActiveControl as CheckBox;
            if (e.KeyData == Keys.Enter && this.ActiveControl.Equals(c1))
                c1.Checked = true;
        }

Я мог бы сделать это, если бы я написал этот код в KyeUp флажка, но дело в том, что у меня есть несколько флажков в форме, и я не могу написать это под каждым из них KeyUp, поэтому мне нужно использовать его под KeyUp формы .. Что мне нужно изменить ??

Ответы [ 2 ]

3 голосов
/ 01 февраля 2010

Установите для свойства KeyPreview формы значение true.

В качестве альтернативы, вы можете перебирать флажки (используя свойство Controls, возможно, рекурсивно) и добавлять один и тот же обработчик для каждого флажка.

1 голос
/ 01 февраля 2010

Просто определите, какой элемент управления имеет фокус, и отметьте / снимите флажок, если необходимо. Эта ссылка должна помочь: http://www.webdeveloper.com/forum/archive/index.php/t-36261.html

...