如何:變更 Windows Form MonthCalendar 控制項的外觀

Windows Forms MonthCalendar 控制項可讓您以多種方式自訂行事曆的外觀。 例如,您可以設定色彩配置,並選擇顯示或隱藏周號和目前的日期。

變更月曆的色彩配置

  • 設定 屬性,例如 TitleBackColorTitleForeColorTrailingForeColor 。 屬性 TitleBackColor 也會決定星期幾的字型色彩。 屬性 TrailingForeColor 會決定之前和之後所顯示月份或月份的日期色彩。

    MonthCalendar1.TitleBackColor = System.Drawing.Color.Blue  
    MonthCalendar1.TrailingForeColor = System.Drawing.Color.Red  
    MonthCalendar1.TitleForeColor = System.Drawing.Color.Yellow  
    
    monthCalendar1.TitleBackColor = System.Drawing.Color.Blue;  
    monthCalendar1.TrailingForeColor = System.Drawing.Color.Red;  
    monthCalendar1.TitleForeColor = System.Drawing.Color.Yellow;  
    
    monthCalendar1->TitleBackColor = System::Drawing::Color::Blue;  
    monthCalendar1->TrailingForeColor = System::Drawing::Color::Red;  
    monthCalendar1->TitleForeColor = System::Drawing::Color::Yellow;  
    

    注意

    從 Windows Vista 開始,並根據主題而定,設定某些屬性可能不會變更行事曆的外觀。 例如,如果 Windows 設定為使用 Aero 主題,則設定 BackColorTitleBackColorTitleForeColorTrailingForeColor 屬性沒有任何作用。 這是因為更新版本的行事曆會以在執行時間衍生自目前作業系統主題的外觀來轉譯。 如果您想要使用這些屬性並啟用舊版行事曆,您可以停用應用程式的視覺樣式。 停用視覺效果樣式可能會影響應用程式中其他控制項的外觀和行為。 若要停用 Visual Basic 中的視覺化樣式,請開啟 [專案設計工具],然後取消核取 [ 啟用 XP 視覺效果樣式 ] 核取方塊。 若要停用 C# 中的視覺化樣式,請開啟 Program.cs 並批註化 Application.EnableVisualStyles(); 。 如需視覺化樣式的詳細資訊,請參閱 啟用視覺化樣式

顯示控制項底部的目前日期

  • ShowToday 屬性設為 true。 下列範例會在按兩下表單時,在顯示和省略今天的日期之間切換。

    Private Sub Form1_DoubleClick(ByVal sender As Object, _  
    ByVal e As System.EventArgs) Handles MyBase.DoubleClick  
       ' Toggle between True and False.  
       MonthCalendar1.ShowToday = Not MonthCalendar1.ShowToday  
    End Sub  
    
    private void Form1_DoubleClick(object sender, System.EventArgs e)  
    {  
       // Toggle between True and False.  
       monthCalendar1.ShowToday = !monthCalendar1.ShowToday;  
    }  
    
    private:  
       System::Void Form1_DoubleClick(System::Object ^  sender,  
          System::EventArgs ^  e)  
       {  
          // Toggle between True and False.  
          monthCalendar1->ShowToday = !monthCalendar1->ShowToday;  
       }  
    

    (Visual C#、Visual C++)將下列程式碼放在表單的建構函式中,以註冊事件處理常式。

    this.DoubleClick += new System.EventHandler(this.Form1_DoubleClick);  
    
    this->DoubleClick += gcnew System::EventHandler(this,  
       &Form1::Form1_DoubleClick);  
    

顯示周數

  • ShowWeekNumbers 屬性設為 true。 您可以在程式碼或屬性視窗中設定此屬性。

    周數會出現在一周第一天左邊的個別資料行中。

    MonthCalendar1.ShowWeekNumbers = True  
    
    monthCalendar1.ShowWeekNumbers = true;  
    
    monthCalendar1->ShowWeekNumbers = true;  
    

另請參閱