당신은 TextBox
를 서브 클래스 화해 OnKeyDown
및 OnKeyUp
메소드를 오버라이드 (override) 할 수있다. KeyDown
뒤에 KeyUps
이 없으면 KeyEventArgs.SuppresKeyPress
을 true
으로 설정하여 무시하십시오. SuppresKeyPress
가 중요 참고,
public class MyTextBox:TextBox
{
bool down = false;
protected override void OnKeyDown(KeyEventArgs e)
{
if (!down)
base.OnKeyDown(e);
else
e.SuppressKeyPress = true;
down = true;
}
protected override void OnKeyUp(KeyEventArgs e)
{
base.OnKeyUp(e);
down = false;
}
}
은 또한이 같은 KeyUp
및 KeyDown
이벤트 핸들러를 사용할 수 있습니다 : 코드를 확인
bool down = false;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (down)
e.SuppressKeyPress = true;
down = true;
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
down = false;
}
첫 번째 솔루션은 완벽하게 작동합니다! 감사. – user476683
사실, 둘 다 잘 작동합니다! – user476683