我目前正致力于一个小小的降临日历申请 WinForm包含24个按钮,默认情况下处于禁用状态。
现在我需要重新考虑这部分代码。
do
{
switch (_currentDate.ToShortDateString()) // uses NIST time server
{
case "01.12.2014":
{
btn1.Enabled = true;
break;
}
case "02.12.2014":
{
btn2.Enabled = true;
break;
}
case "03.12.2014":
{
btn3.Enabled = true;
break;
}
//committed
case "24.12.2014":
{
btn24.Enabled = true;
break;
}
}
_currentDate = _currentDate.AddDays(-1);
} while (_currentDate.ToShortDateString() != new DateTime(2014, 11, 30).ToShortDateString());
是否有一种很酷的方法来缩短这段代码?
因为这段代码看起来有点多余。
答案 0 :(得分:1)
以下是一些提示:
假设你的按钮数组被称为CalenderButtons,12月1日各自的指数为0,第二个指数为1,等等。
如果您只想启用1个按钮,请使用:
CalenderButtons[_currentDate.Day-1].Enabled = true;
如果要启用从第1天到当天的所有按钮:
for (int i=0; i<_currentDate.Day; i++)
{
CalenderButtons[i].Enabled = true;
}