일 때 이 필요합니다. 따라서 Modal
이 필요하므로 child.ShowDialog()
을 사용하여 양식을 Modal
으로 만드십시오. 이 form
에있는 동안 사용자가 close/cancel
버튼을 선택하면 DialogResult
버튼을 클릭하여 닫으려고하는지 묻습니다. 사용자가 DialogResult
에서 OK
을 선택할 때 문제가 발생합니다. DialogResult box
을 닫으려면 OK
에서 두 번 클릭해야합니다. 나는 Dispose
과 Close
을 사용하면 child form
을 첫 번째 클릭에서 제외시킬 수 있지만 아직 DialogResult box
이 남아 있음을 발견했습니다. 아래 코드에서 누락 된 부분은 OK
을 클릭 한 후 DialogResult box
및 Form
을 닫을 수 있습니까?DialogResult는 Form Modal이
private void closeButton_Click(object sender, EventArgs e)
{
if (calBackgroundWorker.IsBusy)
{
DialogResult dialogResult = MessageBox.Show("The Compass Calibration is already in progress, are you sure you wish to cancel?", "Stop Calibration", MessageBoxButtons.OKCancel);
if (dialogResult == DialogResult.OK)
{
calibrationInProgress = false;
calBackgroundWorker.CancelAsync();
this.Dispose();
this.Close();
}
}
else
{
this.Close();
}
}
가나요? – TyCobb
그래서'MainForm' ->'ChildForm' (모달) ->'MessageBox'입니다. 'ChildForm'을 닫을 때 당신은'MessageBox' 확인을 요구합니다. 사용자가'OK'를 선택하면'ChildForm'을 닫고 싶습니다. 그 결과로'MainForm'을 닫고 싶습니까? – Erik
@SiLo'Modal' 인'ChildForm'과'Modal' 인'MessageBox'를 닫고 싶습니다. ** 부모님을 닫고 싶지 않습니다 ** – KSdev