私は、スレッドがWinフォームが完全に終了を試みる前に初期化されていることを確認するために使用されるコンストラクタのスレッド...悪い練習ですか?
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);
}
...の線に沿って何かを持っています。これは私にとって悪い習慣のように思えます...どうすればそのような機能をよりうまく実装できますか?
@WulfgarPro:助けるために喜んで!私が以下に示唆しているものの例を提供します。 – bitxwise