(VS2005, .Net 2.0)C# CancelButton이 대화 상자를 닫습니까?
ShowDialog() 메서드를 사용하여 대화 상자로 표시되는 양식이 있습니다. 폼의 CancelButton 속성은 폼의 단추로 설정됩니다. 해당 버튼의 DialogResult를 None으로 설정하더라도 단추를 클릭해도 대화 상자가 닫힙니다. 이런 일이 일어나기를 원하지 않습니다. 대화 상자를 닫을 지 여부를 제어 할 수 있기를 원합니다.
이 문제는 해당 폼의 AcceptButton 함께 발생합니다 - 단추의 DialogResult가 none으로 설정되어 있으면 어떤 처리가 필요한지를 결정한 다음 양식의 DialogResult가 닫히도록 수동으로 설정할지 여부를 결정할 수 있습니다.
Esc 키를 눌렀을 때 "클릭"되어야하는 버튼을 나타 내기 위해 CancelButton 속성이 soley를 의미한다고 생각했습니다. 이는 AcceptButton이 Enter 키를 눌렀을 때 "클릭"버튼 만 나타내는 것으로 생각됩니다. 내가 틀렸어? 양식이 닫히는 다른 이유가 없어 졌습니까? 아니면이 버그입니까?
편집 : 코드가 추가되었습니다. 이것은 대화 상자 양식 (양식 2)과 취소 버튼 (버튼 1)입니다. 는 취소로 설정 DialogResult를이없는, 버튼은 폼의 CancelButton을 취소가 있지만, 버튼을 누르면 여전히 형태
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Name = "button1";
this.button1.Text = "button1";
//
// Form2
//
this.CancelButton = this.button1;
this.Controls.Add(this.button1);
this.Name = "Form2";
this.Text = "Form2";
this.ResumeLayout(false);
}
내가 코드를 게시해야한다고 생각합니다 – ChrisF