Как можно избавиться от подобного мусора в коде?
Множество лейблов, которые при наведении делают одно и то же? Не проще ли создать всего один обработчик и на него привязать события со всех нужных лейблов?private void label_MouseEnter(object sender, EventArgs e)
{
   (sender as Label).ForeColor = Color.FromArgb(35, 33, 61);
}

private void label_MouseLeave(object sender, EventArgs e)
{
   (sender as Label).ForeColor = Color.White;
}
Теперь во всех событиях указывает один и тот же обработчик.
Вариант 1: использовать лямбда-выражения.
Вариант 2: использовать генератор обработчиковvoid Interactable(Control c)
{
c.MouseEnter+=(s,e)=>s.ForeColor=Color.FromArgb(35, 33, 61);
c.MouseLeave+=(s,e)=>s.ForeColor=Color.White;
}
Вариант 3: применить вариант 2 программно ко всем label'ам, которые каким-то образом помечены в визуальном конструкторе.