2010-10-14 2 views
2

есть MonthCalender в C#Detect месяц изменились в месяц календарной C#

Существует в 2 кнопки, чтобы выбрать месяц

январь, февраль и так далее ..

Во всяком случае, я могу определить, что пользователь изменил месяц?

+0

Вы могли бы добавить делегат на событие нажатия кнопки, но это предположение , никогда не использовал этот контроль. – dutt

ответ

3

попробовать этот

private int MonthValue = 0; 
private bool bChanged = false; 
private void Form1_Load(object sender, EventArgs e) 
{ 
    MonthValue = monthCalendar1.TodayDate.Month; 
} 
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e) 
{ 

    if (MonthValue != monthCalendar1.SelectionStart.Month) 
    { 
     //changed 
     bChanged = true; 
     MonthValue = monthCalendar1.SelectionStart.Month; 
    } 
    else 
    { 
     //not changed 
     bChanged = false; 
    } 
} 
+0

Да, это правильный ответ. Но это работает только тогда, когда вы нажимаете имя месяца и выбираете другой месяц. Если вы нажмете 2 кнопки с иконкой «>» или «<», это покажет, что месяц изменился, но он продолжает меняться. – william

+0

Вы пробовали использовать его, так как для меня он отлично работает, используя «<" or ">». – Raymund

+0

Да, я уже пробовал. – william

0

использование OnVisibleMonthChanged по контролю каландра и создать что-то событие, как это:

protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e) 
     { 
      // Further processing goes here 
     }