콘솔 응용 프로그램의 중간에 양식을 표시하여 특정 상태 정보를 표시하고 특정 이벤트가 발생할 때 자동으로 양식을 닫으 려합니다 . 다음 코드 부분만으로도 충분합니까?콘솔 응용 프로그램에서 특정 시점 (실행 도중)에 양식 표시
표시
ModuleInitializerForm moduleInitializerDlg = new ModuleInitializerForm()
{
Parent = parent,
TopMost = true,
TopLevel = true,
Text = Common.MESSAGE_INFO_TITLE,
ControlBox = false,
FormBorderStyle = FormBorderStyle.FixedDialog,
KeyPreview = false,
};
moduleInitializerDlg.Initialize();
moduleInitializerDlg.ShowDialog();
닫기 양식 형태는 ShowDialog를(),이 사용자까지 차단됩니다 이루어집니다 스레드를 사용하고 있기 때문에
public void OnModuleInitializationCompleted(object sender, EventArgs e)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new ECEventsHandler(OnModuleInitializationCompleted), sender, e);
}
else
{
this.Close();
}
}
양식을 자체 스레드에서 실행하고 있습니까? –
나는 그 질문을 이해하지 못한다. 내가 놓친 게 있니? – Maanu
@Maanu : (확장 Lasse 주석) ShowDialog를 사용하는 문제는 폼이 닫힐 때까지 스레드의 실행이 차단된다는 것입니다. 따라서 하나의 쓰레드 만 가지고 있다면 그 쓰레드는 동일한 쓰레드에서 트리거 된 이벤트에 의해 닫히지 않을 것입니다 ... – digEmAll