【发布时间】:2012-11-29 18:35:17
【问题描述】:
在 Windows 窗体应用程序中,我有六个带有标签的文本框。每个标签显示从星期一到星期六的日期。还有一些按钮可以分别导航到前几周和下周。
每次加载 from 时,我都希望能够在 RED 中突出显示当前日期。虽然我已经设法实现了这一点,但每次我点击下一个/上一个按钮时,标签仍然保持颜色。例如,如果当前日期是 11 月 29 日星期四(以红色突出显示),单击下一个按钮将在该标签上显示 12 月 6 日星期四,但也会以红色突出显示,这是错误的,因为 12 月 6 日星期四不是当前日期。有什么想法可以解决这个问题吗?这是我更改标签颜色的代码。谢谢
if (label1.Text == DateTime.Now.ToString("dd MMMM dddd"))
label1.ForeColor = Color.Red;
else label1.ForeColor = Color.Black;
if (label2.Text == DateTime.Now.ToString("dd MMMM dddd"))
label2.ForeColor = Color.Red;
else label2.ForeColor = Color.Black;
if (label3.Text == DateTime.Now.ToString("dd MMMM dddd"))
label3.BackColor = Color.Red;
else label3.ForeColor = Color.Black;
if (label4.Text == DateTime.Now.ToString("dd MMMM dddd"))
label4.BackColor = Color.Red;
else label4.ForeColor = Color.Black;
if (label5.Text == DateTime.Now.ToString("dd MMMM dddd"))
label5.BackColor = Color.Red;
else label5.ForeColor = Color.Black;
if (label6.Text == DateTime.Now.ToString("dd MMMM dddd"))
label6.BackColor = Color.Red;
else label6.ForeColor = Color.Black;
【问题讨论】:
-
使用调试器确保您认为正在发生的事情,实际上正在发生。 dotnetperls.com/debugging
-
这是 wpf 吗?为什么不使用绑定?
-
@ArsenMkrt:“在 Windows 窗体应用程序中......”
-
简单,您的测试总是返回 true。现在您只需使用调试工具找出原因。 (任何测试前的断点并检查您的 labelX.text)。此外,如果您使用
BackColor属性,则文本不会更改。 -
@dhani:你为什么要混合
BackColor和ForeColor?BackColor是TextBox的背景颜色,ForeColor是TextBox内部的文本颜色。您应该只始终使用其中一种。