단일 텍스트 상자가있는 양식이 있습니다. 다른 컨트롤은 없습니다. '입력'키 또는 'Esc'키를 입력 할 때마다 양식이 원하는대로 작동합니다. 하지만 그 끔찍한 Windows 오류 소리를 들었어요. 코드는'Enter'또는 'Esc'를 입력 할 때 창 오류 사운드를 중지하는 방법
public class EntryForm: Form
{
public EntryForm()
{
}
private void EntryTextBox_KeyUp(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter)
{
// do some stuff
Hide(); // I've also used DialogResult = DialogResult.OK here
e.Handled = true;
}
else if(e.KeyCode == Keys.Escape)
{
Hide(); // I've also used DialogResult = DialogResult.Cancel here
e.Handled = true;
}
}
}
내가 '해킹'폼의 생성자에 다음 코드를 추가하여 노이즈 정지를 할 수 있습니다 ... 다음과 비슷합니다.
AcceptButton = new Button();
CancelButton = new Button();
내가 말했듯이 이것은 사운드가 재생되지 않게하지만 이것은 잘못된 형태라고 생각합니다. 특히 양식에 단추가 필요 없기 때문에 특히 그렇습니다.
누구나 이것이 동작이며 오류 사운드 재생을 중단하는 더 깨끗한 방법이 있다면 누구나 알 수 있습니까?
버튼이없는 경우 Enter 키 또는 Esc 키를 눌렀을 때 대화 상자가 사라지는 방식은 무엇입니까? jus 편집 컨트롤이있는 양식은 일반적으로 Enter 또는 Esc를 눌렀을 때 거기에 있습니다. –
@ John Knoeller - Hide() 메서드는 폼을 숨 깁니다. visible 속성을 false로 설정할 수도 있습니다. 양식을 모달로 표시 한 경우 코드에서 대화 상자 결과를 설정하면 양식이 사라집니다. –