[FONT=Courier New][SIZE=2][COLOR=#0000ff]private [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]void[/COLOR][/SIZE][SIZE=2] Form1_KeyDown([/SIZE][SIZE=2][COLOR=#0000ff]object[/COLOR][/SIZE][SIZE=2] sender, [/SIZE][SIZE=2][COLOR=#008080]KeyEventArgs[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] e)[/FONT]
[FONT=Courier New]{[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#008080] Keys[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New] key = e.KeyCode;[/FONT]
[/SIZE][FONT=Courier New][SIZE=2][COLOR=#008080] MessageBox[/COLOR][/SIZE][/FONT][SIZE=2][FONT=Courier New].Show(key.ToString());[/FONT]
[FONT=Courier New]}[/FONT]
[/SIZE]
как поймать нажатия + - (с#)
Не могу найти как отловить нажатие клавиш + и -
на цифровой клавиатуре.
Пробовал так
private void OnKeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.???)
{
...
}
}
в Keys -огромный список клавиш, но ничего похожего на plus minus
или NumPlus NumMinus нет.
Может кто знает, как?
Или какой у них код?
Keys.Add, Keys.Subtract
Не могу найти как отловить нажатие клавиш + и -
на цифровой клавиатуре.
Пробовал так
private void OnKeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.???)
{
...
}
}
в Keys -огромный список клавиш, но ничего похожего на plus minus
или NumPlus NumMinus нет.
Может кто знает, как?
Или какой у них код?[/quote]
Если на цифровой клавиатуре, то используем свойство e.KeyCode. При нажатии на + на цифровой клавиатуре вываливается Keys.Add, а на обычный + вылазит Keys.Oemplus. Лично я это определил опытным путём (советую тебе перепроверить, т.к. у меня мультимедийная клава):
Код:
Это работает не только на мультимедийной клавиатуре.
Но, мягкотелые сделали, что событие OnKeyDown на форме
возникает только при первом нажатии. А как постоянно эти нажатия ловить? OnKeyPress? Но там не получится использовать Keys.
Это работает не только на мультимедийной клавиатуре.
Но, мягкотелые сделали, что событие OnKeyDown на форме
возникает только при первом нажатии. А как постоянно эти нажатия ловить? OnKeyPress? Но там не получится использовать Keys.[/quote]
Как это только при первом нажатии? Что ты имеешь в виду? Сколько раз ты нажмёшь кнопку, столько раз и сработает OnKeyDown.
KeyDown
Occurs when a key is first pressed.
И, действительно, отрабатывает только первый раз.
KeyDown
Occurs when a key is first pressed.
И, действительно, отрабатывает только первый раз.[/quote]
Да при каждом нажатии работает это событие. А фраза Occurs when a key is first pressed, переводится не как "Срабатывает при первом нажатии" а как "Срабатывает когда первая кнопка нажата". Т.е. если ты нажмёшь компбинацию Ctrl+T, то что ты первым нажмёшь, то и сработает. Я написал самый простейший пример, который подсчитывает количество нажатий на клавишу из которого видно, что событие возникает при каждом нажатии
Видимо, у меня глюк где-то глубже, тк мой код на это событие такой же. Будем искать... © Никулин Ю.
Спасибо ещё раз огромное, ЗАЗ-968М.
Видимо, у меня глюк где-то глубже, тк мой код на это событие такой же. Будем искать... © Никулин Ю.
Спасибо ещё раз огромное, ЗАЗ-968М.[/quote]
На здоровье..