如何在C#的月历中将所有星期日标记为红色?

4

请问有谁知道如何使.NET月历上的所有星期天都具有红色背景颜色吗?

2个回答

4
如果您想在日历中为单独的日期着色,那么您应该查看Calendar.SelectedDatesCalendar.SelectedDayStyle属性。然后您可以像这样做:
myCal.SelectedDates.Add({DateTime object});
myCal.SelectedDayStyle.BackColor = System.Drawing.Color.Red;

这在显示带有特定事件的日期时非常有用。
如果您想在月份中着色特定日期,则应查看Calendar.DayRender事件。通过使用DayOfWeek枚举,此事件应该可以帮助您将每个星期天呈现为红色,例如执行以下操作:
void DayRender(Object source, DayRenderEventArgs e) 
{
  // Change the background color of the days in the month to Red.
  if (e.Day.Date.DayOfWeek == DayOfWeek.Sunday)
     e.Cell.BackColor=System.Drawing.Color.Red;
}

1
我已经在ASP.Net中通过使用每个日期事件完成了这个任务。只需检查当前日期的星期几,如果符合要求,则更新当前日期的样式(或其他内容)。
如果您正在查看WinForms,我会认为它会有类似的东西。我不记得位元的名称是什么,但这不应该难找到。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接