Пытался гуглить, но ответа толком не нашел.
Наличие формы Windows с элементом управления MonthCalendar и обработкой события DateChanged. проблема связана со сменой месяца щелчком мыши.
Я попытался показать значение счетчика в метке, которое подсчитывается каждый раз, когда вызывается обработчик событий. При изменении месяца обработчик события вызывается 2 раза.
Когда MessageBox.Show("что-нибудь") вызывается при обработке события, обработчик события, кажется, вызывается несколько раз, и календарь начинает изменяться на один месяц назад навсегда.
Кто-нибудь знает, почему?
Следующий код в классе формы окна приводит к описанному поведению:
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
int i = int.Parse(labelDateChanged.Text);
labelDateChanged.Text = (i + 1).ToString();
MessageBox.Show(i.ToString());
}
private void monthCalendar1_DateSelected(object sender, DateRangeEventArgs e)
{
int i = int.Parse(labelDateSelected.Text);
labelDateSelected.Text = (i + 1).ToString();
}