Как сделать все воскресенья красным на календаре месяца в C #? - PullRequest
4 голосов
/ 22 октября 2009

Мне было интересно, если кто-нибудь знает, как сделать все воскресенья в календаре .NET, чтобы фоновый цвет был красным?

Ответы [ 2 ]

4 голосов
/ 22 октября 2009

Если вы хотите раскрасить отдельные дни в календаре, вам следует взглянуть на Calendar.SelectedDates и Calendar.SelectedDayStyle properties

Тогда вы могли бы сделать что-то вроде этого

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 голос
/ 22 октября 2009

Я сделал это в ASP.Net, используя событие на дату, которое можно использовать. Просто проверьте день недели для текущего дня и, если он проверяет, обновите стиль (или любой другой) текущего дня.

Если бы вы смотрели на WinForms, я бы предположил, что там будет что-то похожее. Я не помню, как названы эти биты, но это не должно быть трудно найти.

...