나는의 라인을 따라 뭔가를 ..생성자의 스레드 ... 나쁜 습관?
private UavControlForm()
{
InitializeComponent();
if (ControlFacade.CheckIfStkIsLaunched())
{
_controlFacade = new ControlFacade();
SubscribeToStkQuit();
}
else
{
Thread tExitUavController = new Thread(ExitUavController);
tExitUavController.IsBackground = true;
tExitUavController.Start();
}
}
private void ExitUavController()
{
Thread.Sleep(500);
ForceCloseAtBeginning();
Application.Exit();
}
private void ForceCloseAtBeginning()
{
DialogResult dlgResult =
MessageBox.Show("STK application not running. UavController will now close.", "Closing...",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
스레드가의 WinForm 완전히 종료하기 전에 초기화되어 있는지 확인하는 데 사용됩니다. 이것은 나에게 나쁜 습관처럼 보입니다 ... 어떻게 그러한 기능을 더 잘 구현할 수 있습니까?
@WulfgarPro : 기꺼이 도와! Will은 제가 아래에 제안한 것을 보여줍니다. – bitxwise