Windowsフォームで、PictureBoxをステータスアイコンとして使用しようとしています。実行中、停止済み、StartPending、StopPendingの4つのアイコンがあります。これを行うのに最適な方法がわからなかったので、それらを互いに積み重ねて、有効なものだけを表示することにしました。私はこのようなものを思いついた。
switch (currentServiceStatus)
{
case "Running":
pb_startedTestService.Visible = true;
pb_startingTestService.Visible = false;
pb_stoppedTestService.Visible = false;
pb_stoppingTestService.Visible = false;
break;
case "StartPending":
pb_startedTestService.Visible = false;
pb_startingTestService.Visible = true;
pb_stoppedTestService.Visible = false;
pb_stoppingTestService.Visible = false;
break;
case "Stopped":
pb_startedTestService.Visible = false;
pb_startingTestService.Visible = false;
pb_stoppedTestService.Visible = true;
pb_stoppingTestService.Visible = false;
break;
case "StopPending":
pb_startedTestService.Visible = false;
pb_startingTestService.Visible = false;
pb_stoppedTestService.Visible = false;
pb_stoppingTestService.Visible = true;
break;
}
これは1つのサービスであれば問題ありませんが、少なくとも7つのサービスを確認し、サービス名の横にある小さなアイコンとしてはそれで十分だと思います。私は強迫観念ですか?それはそれほど大したことではなく、私のコードを私が思うほどずさんなものにすることはありませんか?これを行うためのより簡単またはより良い方法はありますか?