Freigeben über


Anleitung: So ändern Sie die Darstellung des Windows Forms MonthCalendar-Steuerelements

Mit dem Windows Forms MonthCalendar-Steuerelement können Sie die Darstellung des Kalenders auf vielfältige Weise anpassen. Sie können z. B. das Farbschema festlegen und auswählen, dass Wochennummern und das aktuelle Datum angezeigt oder ausgeblendet werden sollen.

So ändern Sie das Farbschema des Monatskalenders

  • Legen Sie Eigenschaften wie TitleBackColor, TitleForeColor und TrailingForeColorfest. Die eigenschaft TitleBackColor bestimmt auch die Schriftfarbe für die Wochentage. Die TrailingForeColor -Eigenschaft bestimmt die Farbe der Datumsangaben, die dem angezeigten Monat oder monaten vorausgehen und folgen.

    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;  
    

    Anmerkung

    Ab Windows Vista und je nach Design kann das Festlegen bestimmter Eigenschaften möglicherweise die Darstellung des Kalenders nicht ändern. Wenn Windows beispielsweise auf das Aero-Design festgelegt ist, hat das Festlegen der Eigenschaften BackColor, TitleBackColor, TitleForeColoroder TrailingForeColor keine Auswirkung. Dies liegt daran, dass eine aktualisierte Version des Kalenders mit einem Erscheinungsbild gerendert wird, das zur Laufzeit vom aktuellen Betriebssystemthema abgeleitet wird. Wenn Sie diese Eigenschaften verwenden und die frühere Version des Kalenders aktivieren möchten, können Sie visuelle Stile für Ihre Anwendung deaktivieren. Das Deaktivieren visueller Stile wirkt sich möglicherweise auf das Aussehen und Verhalten anderer Steuerelemente in Ihrer Anwendung aus. Um visuelle Formatvorlagen in Visual Basic zu deaktivieren, öffnen Sie den Project-Designer, und deaktivieren Sie das Kontrollkästchen Aktivieren visueller XP-Formatvorlagen. Um visuelle Formatvorlagen in C# zu deaktivieren, öffnen Sie Program.cs und kommentieren Sie Application.EnableVisualStyles();aus. Weitere Informationen zu visuellen Stilen finden Sie unter Aktivieren von visuellen Stilen.

So zeigen Sie das aktuelle Datum am unteren Rand des Steuerelements an

  • Legen Sie die ShowToday-Eigenschaft auf truefest. Im folgenden Beispiel wird zwischen dem Anzeigen und Auslassen des heutigen Datums umgeschaltet, wenn auf das Formular doppelgeklickt wird.

    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++) Platzieren Sie den folgenden Code im Konstruktor des Formulars, um den Ereignishandler zu registrieren.

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

Um Wochennummern anzuzeigen

  • Legen Sie die ShowWeekNumbers-Eigenschaft auf truefest. Sie können diese Eigenschaft entweder im Code oder im Eigenschaftenfenster festlegen.

    Wochennummern werden in einer separaten Spalte links vom ersten Wochentag angezeigt.

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

Siehe auch