Как поменять цвет label сегодняшней даты? C#
Как поменять цвет label сегодняшней даты?
Пример.. сегодня 01.04.2022 - то лейбл с числом (01) становится зелёным (цвет), потом завтра - белым, а число 2 - уже зелёным.
То есть по нынешней дате лейблы с числом становятся определённым цветом.
Ответы (1 шт):
Автор решения: Yotic
→ Ссылка
Положите код в ваш Load.
Есть 3 способа. (Их 4, но формулу для 4 я потерял ;( )
Первый - через время:
long now = DateTime.Now.Ticks / 1000 / 60;
Color todayColor = Color.FromArgb((int)(now / 86400 % 10 * 25.5), now / 3600 % 60, now / 60 % 60); //Или делать через int структуру, но там сложнее логика
Но тогда это больше будет похоже на рандомный цвет при запуске.
Второй - через словарь дат и цветов к ним:
Dictionary<byte, Color> dayColors = new Dictionary<byte, Color>()
{
{0, Color.Green}, { 1, Color.Black} //...
};
byte day = (byte)DateTime.Now.Day;
Color todayColor = dayColors[day];
Третий - через Enum Color:
byte day = (byte)(DateTime.Now.Day + DateTime.Now.Hour);
Array colors = Enum.GetValues(typeof(Color));
Color todayColor = (Color)colors.GetValue(day % colors.Length);