다음 코드를 사용하여 NumLock, CapsLock 또는 Insert를 누른 상태인지 확인하고 상태가 ON이면 그에 따라 레이블의 텍스트를 업데이트하십시오. 그러나 어떤 이유로 나는 NumLock을 제대로 작동시키지 못합니다. NumLock이 켜져 있으면 NumLock을 설정했지만 NumLock을 설정하지 않으면 업데이트 할 수 없으면 레이블의 텍스트를 "Num"로 업데이트합니다. 다른 모든 코드 검사가 작동합니다. 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.NumLock isKeyLocked not working
private void num_ins_caps_keyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode & Keys.KeyCode) == Keys.CapsLock)
{
if (Control.IsKeyLocked(Keys.CapsLock))
num_ins_caps1.capsLabel.Text = "Caps";
else
num_ins_caps1.capsLabel.Text = null;
}
if ((e.KeyCode & Keys.KeyCode) == Keys.NumLock)
{
if (Control.IsKeyLocked(Keys.NumLock))
num_ins_caps1.numLabel.Text = "Num";
else
num_ins_caps1.numLabel.Text = null;
}
if ((e.KeyCode & Keys.KeyCode) == Keys.Insert)
{
if (Control.IsKeyLocked(Keys.Insert))
num_ins_caps1.insLabel.Text = "Ins";
else
num_ins_caps1.insLabel.Text = null;
}
}
답변에 점수가 누락 된 경우 알려주십시오. – paqogomez
KeyDown의 표준 채찍. 대신 ProcessCmdKey()를 재정의하십시오. –