这就是我要做的,改变所有标签'颜色同时取决于我在表单中选择的颜色。有没有办法以比我尝试过的方式更容易的方式做到这一点?
private void SetColor()
{
if (checkBoxBlue.Checked == true)
{
labelOrigo.ForeColor = System.Drawing.Color.Blue;
labelN.ForeColor = System.Drawing.Color.Blue;
labelNW.ForeColor = System.Drawing.Color.Blue;
labelW.ForeColor = System.Drawing.Color.Blue;
labelSW.ForeColor = System.Drawing.Color.Blue;
labelS.ForeColor = System.Drawing.Color.Blue;
labelSE.ForeColor = System.Drawing.Color.Blue;
labelE.ForeColor = System.Drawing.Color.Blue;
labelNE.ForeColor = System.Drawing.Color.Blue;
}
else if (checkBoxBlack.Checked == true)
{
labelOrigo.ForeColor = System.Drawing.Color.Black;
labelN.ForeColor = System.Drawing.Color.Black;
labelNW.ForeColor = System.Drawing.Color.Black;
labelW.ForeColor = System.Drawing.Color.Black;
labelSW.ForeColor = System.Drawing.Color.Black;
labelS.ForeColor = System.Drawing.Color.Black;
labelSE.ForeColor = System.Drawing.Color.Black;
labelE.ForeColor = System.Drawing.Color.Black;
labelNE.ForeColor = System.Drawing.Color.Black;
}
else if (checkBoxRed.Checked == true)
{
labelOrigo.ForeColor = System.Drawing.Color.Red;
labelN.ForeColor = System.Drawing.Color.Red;
labelNW.ForeColor = System.Drawing.Color.Red;
labelW.ForeColor = System.Drawing.Color.Red;
labelSW.ForeColor = System.Drawing.Color.Red;
labelS.ForeColor = System.Drawing.Color.Red;
labelSE.ForeColor = System.Drawing.Color.Red;
labelE.ForeColor = System.Drawing.Color.Red;
labelNE.ForeColor = System.Drawing.Color.Red;
}
}
答案 0 :(得分:1)
以下是建议:
gamedb : Object
_id: 1
gamedb._id: "225b3c25aeb38a0",
}
.
.
添加到代码顶部。using System.Drawing;
等等。命名较短的常量并使用它
变量而不是。System.Drawing.Color.Blue
答案 1 :(得分:1)
有。使用for或foreach循环。我倾向于选择foreach循环,但我相信可能更快:
foreach(Control ctl in this.Controls)
{
if(ctl.GetType().Name=="Label")
{
ctl.ForeColor = Color.Blue;
}
}