共用方式為


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

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

變更月曆的色彩配置

  • 設定屬性,例如 TitleBackColorTitleForeColorTrailingForeColorTitleBackColor 屬性也會決定星期幾的字型色彩。 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;  
    

另請參閱