텍스트 상자에서 다음 키보드 이벤트 - Shift + 8 (숫자 패드)을 캡처해야합니다. 이것은 또한 NumLock이 켜짐을 의미합니다. 나는 다음 SHIFT를 시도 + UP 인쇄되지 않은 경우 :합니다 (숫자 키패드에)키보드 이벤트 문제
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Shift && e.KeyCode == Keys.NumPad8)
Console.WriteLine("SHIFT + UP");
Console.WriteLine(e.KeyCode);
Console.WriteLine(e.KeyData);
Console.WriteLine();
}
그러나 CTRL + 8 노력하고 있습니다.
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.NumPad8)
Console.WriteLine("CTRL + UP");
}
업데이트 : 다음은 단일 SHIFT + 8 인쇄기, 인쇄 :
이ShiftKey
ShiftKey, Shift
Up
Up
ShiftKey
ShiftKey, Shift
누군가가 나를 설명 할 수 왜 SHIFT + 8을 발사하지만, CTRL + 8은되지 않는다 일?
P. + UP을 작성했습니다. 사용자가 숫자 패드 화살표와 Shift 키를 사용하여 탐색하려고하기 때문에 NumLock도 켜져 있기 때문입니다. 그래서 내가 Keys.NumPad8을 붙잡는다.
모든 최선을, 페 타르
해당 메서드에 중단 점을 넣고 a) 호출되고 b) 해당 키 조합을 누를 때 실제로 전달되는 내용을 보았습니까? – Paolo
메모장을 열고 문자열을 쓰고 마지막 문자열로 이동 한 다음 Shift + NumPad8을 누릅니다. 이 조합은 UpArrow와 같습니다. –
@Paolo, 예. 시도했습니다. 제 질문을 업데이트했습니다. –