Как обрабатывать событие по ходу выполнения программы?

Вариант №1: заменить элемент управления на RadioButton, тогда выбрать два значения просто не получится, при этом одно из них можно сделать выбранным по умолчанию, т.е. пустого также не будет.

Интересно как ТС данные хранит если они так жёстко вшиты в прогу?

Вообще для самих смен нужно написать класс, что-то типа такого:

C#Выделить код

1
2
3
4
5

class WorkTime
{
  public TimeSpan beginTime {get; set;}
  public TimeSpan endTime {get; set;}
}

далее можно создать список таких смен List<WorkTime> и в зависимости от выбранного вида смены "день/ночь" фильтровать список, например по времени начала смены, и привязывать отфильтрованное к комбобоксам. Тогда при выборе любого значения "начало работы" или "окончание работы" второй изменится автоматически. То есть никогда не получится коллизия рабочего времени, другими словами не сложится ситуация когда смена будет меньше или больше заранее определённого времени.