2010-10-14 30 views
2

有在C#中MonthCalender检测月份的月历C#改为

有一个2个按钮,选择月份

一月,二月等..

无论如何,我可以检测用户改变了月份?

+0

你也许可以添加一个委托到按钮的单击事件,但这是一个猜想,从未使用过这种控制。 – dutt 2010-10-14 01:20:29

回答

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 2010-10-14 01:57:00

+0

您是否尝试过使用它,至于我使用“<" or ">”可以正常工作。 – Raymund 2010-10-14 02:16:19

+0

是的,我已经尝试过了。 – william 2010-10-14 02:37:00

0

使用OnVisibleMonthChanged和创建事件是这样的:

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