양식을 ShowDialog()로 표시하는 다음 코드가 있습니다.MessageBox.Show() ShowDialog 양식 상단에 표시되지 않음
static void Main()
{
DialogResult oDialogResult = oLogin.ShowDialog();
if (oDialogResult == DialogResult.OK)
{
try
{
//do something here
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message, "IMPORTANT MESSAGE", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
문제 호 MessageBox.Show은 이미 도시 oLogin.ShowDialog() 형태 (위에) 앞의 메일 박스를 도시되지 않은 것이다. 왜 그런지 알아?
다음과 같이 소유자 양식을 포함하도록 MessageBox.Show를 변경해 보았습니다.
MessageBox.Show(oLogin, Ex.Message, "IMPORTANT MESSAGE", MessageBoxButtons.OK, MessageBoxIcon.Error);
하지만 여전히 동일한 문제가 있습니다.
분명합니다. DialogResult 속성을 할당하기 직전에 oLogin이 이벤트를 발생시킬 수 있습니다. CancelEventHandler 유형의 이벤트는 논리적 선택이므로 대화 상자가 닫히지 않도록 할 수 있습니다. OpenFileDialog.FileOk 이벤트와 비교하십시오. –