2016-06-17 2 views
-1

WinForm의 텍스트 상자에서 Ctrl + 1 키 누름을 감지하려고 시도했지만 다음 코드는 Ctrl 키 누름을 감지하지 못합니다. 어떤 제안이 도움이 될 것입니다.TextBox에서 Ctrl + 1 키 누름을 감지하는 방법

private void textBox1_KeyDown(object sender, KeyPressEventArgs e) 
{ 
    if ((ModifierKeys & Keys.Control) == Keys.Control) 
    { 
     if (e.KeyChar == (char)Keys.D1) 
      MessageBox.Show("1 get selected"); 
    } 
} 
+0

두 개의 열거 형 값 중 '&&'를 사용하면 어떻게됩니까? –

+0

@Meehow 설명해 주시겠습니까? 견본을 주면 도움이됩니다. – ThePiranha

+2

'if (Keys.Control && Keys.D1)'? * 당신이 NumPad's1을 사용하고 있지만 제목에 '1'만 언급하면 ​​올바른 번호 1인지 확인하십시오. –

답변

0

(ModifierKeys & Keys.Control)은 문제의 원인입니다. 나는 그것을 간단하게 유지할 것을 제안 할 것이다 :

private void textBox1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Control && e.KeyCode == Keys.D1) 
    { 
     MessageBox.Show("Selected !"); 
    } 
} 
+0

젠장, 너 ... 나 한테 두번째 이길거야. ^^ –

+1

고마워. @ 멕캡. 그것은 효과가 있었다. – ThePiranha

0

그냥 제안하지만 KeyCar 대신 KeyChar를 비교하기 때문일 수도있다. 시도

private void textBox1_KeyDown(object sender, KeyPressEventArgs e) 
    { 
     if (e.Control && e.KeyCode == Keys.D1) 
     { 
       MessageBox.Show("1 get selected"); 
     } 
} 
관련 문제