2010-10-14 57 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 
     }