在 Windows 窗体上,我尝试使用 PictureBoxes 作为状态图标。我有 4 个图标,分别代表 Running、Stopped、StartPending 和 StopPending。我不确定如何最好地做到这一点,所以我决定将它们相互堆叠并只使有效的可见。我想出了这样的事情。
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;
}
如果它只是一项服务,我可以接受,但至少有 7 项服务我要检查并认为服务名称旁边的小图标有点多。我有强迫症吗?这不是什么大不了的事,不会让我的代码像我想的那样草率吗?有没有更简单或更好的方法来做到这一点?