13
많은 컨트롤이 포함 된 상위 폼이 있습니다. 내가하려는 것은 그 양식에 대한 모든 주요 프레스를 걸러내는 것이다. 문제는 양식에있는 컨트롤 중 하나에 포커스가있는 경우 상위 폼에서 키 누르기 이벤트가 발생하지 않으므로 키 다운 이벤트를 어떻게 캡처합니까?C# .NET 폼에서 키 누르는 방법
많은 컨트롤이 포함 된 상위 폼이 있습니다. 내가하려는 것은 그 양식에 대한 모든 주요 프레스를 걸러내는 것이다. 문제는 양식에있는 컨트롤 중 하나에 포커스가있는 경우 상위 폼에서 키 누르기 이벤트가 발생하지 않으므로 키 다운 이벤트를 어떻게 캡처합니까?C# .NET 폼에서 키 누르는 방법
설정 양식에 true로 KeyPreview 당신은 그들을 잡을 것 : MSDN
myForm : Form
{
public ChildForm()
{
KeyPress += KeyPressHandler;
}
public KeyPressHandler(object sender, KeyPressEventArgs e)
{
if (_parent != null)
{
_parent.NotifyKeyPress(e);
}
}
}
이 것보다 귀하의 경우 스위트 룸
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.F1)
{
MessageBox.Show("You pressed the F1 key");
return true; // indicate that you handled this keystroke
}
// Call the base class
return base.ProcessCmdKey(ref msg, keyData)
}