TextChanged는 TextBox 컨트롤 내의 모든 키를 누를 때마다 알림을 보냅니다.Enter 키를 눌렀을 때 텍스트 변경을 알리는 TextBox 컨트롤에 사용할 이벤트는 무엇입니까?
KeyDown 이벤트를 사용해야합니까?
TextChanged는 TextBox 컨트롤 내의 모든 키를 누를 때마다 알림을 보냅니다.Enter 키를 눌렀을 때 텍스트 변경을 알리는 TextBox 컨트롤에 사용할 이벤트는 무엇입니까?
KeyDown 이벤트를 사용해야합니까?
더 나은 이벤트에서 KeyDown입니다. 사용자가 명시 적으로 상자에 입력하거나 다른 구성 요소가 TextBox
에 메시지를 보내 사용자가 입력 한 것을 시뮬레이션하면 KeyDown이 실행됩니다. 이것은 설명 된 시나리오에 적합합니다.
반면에 TextChanged 이벤트에 응답하도록 선택하면 텍스트가 변경되는 모든 경우 (사용자 또는 코드별로)에 응답하게됩니다. 즉, 내가 명시 적으로 말하면 이벤트가 발생합니다.
someBox.Text = Environment.NewLine;
은 네는를 keyDown 이벤트 :
if (e.KeyCode == Keys.Enter)
{
// do stuff
}
KeyPress 이벤트는이 작동 : 여기에 처리 할 수
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
MessageBox.Show("Enter pressed!");
}
}
이는 나머지 양식에 따라 다릅니다. 수락 단추가있을 때 (거의) 모든 컨트롤에서 [Enter] 키를 누르면 해당 단추를 텍스트 상자에서 별도로 처리하지 않는 것이 좋습니다.
반대로, 하나 이상의 텍스트 상자를 처리하려면 수용 버튼을 사용하지 마십시오.
winforms ... winforms. –
winforms ... not webforms ... – CSharpAtl
죄송합니다. 질문을 훑어 보시고 winforms 태그를 찾으 셨습니다. ASP.NET에도 textchanged 이벤트가 있습니다 ... : - S – Achilles