Freigeben über


Wie man die Darstellung des Windows Forms MonthCalendar-Steuerelements ändert

Mit dem Windows Forms-Steuerelement MonthCalendar 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

  • Festlegen von Eigenschaften wie TitleBackColor, TitleForeColor und TrailingForeColor. Die TitleBackColor Eigenschaft bestimmt auch die Schriftfarbe für die Wochentage. Die TrailingForeColor Eigenschaft bestimmt die Farbe der Datumsangaben, die vorausgehen und dem angezeigten Monat oder Monaten 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;
    

    Hinweis

    Ab Windows Vista und je nach Design ändern das Festlegen einiger Eigenschaften möglicherweise nicht die Darstellung des Kalenders. Wenn z. B. Windows auf die Verwendung des Aero-Designs festgelegt ist, hat das Festlegen von BackColor, TitleBackColor, oder TitleForeColorTrailingForeColor Eigenschaften keine Auswirkung. Dies liegt daran, dass eine aktualisierte Version des Kalenders mit einer Darstellung gerendert wird, die zur Laufzeit vom aktuellen Betriebssystemdesign 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 Formatvorlagen 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 "Visuelle XP-Formatvorlagen aktivieren ". Um visuelle Formatvorlagen in C# zu deaktivieren, öffnen Sie Program.cs und kommentieren Sie `Application.EnableVisualStyles();` aus. Weitere Informationen zu visuellen Formatvorlagen finden Sie unter Aktivieren von visuellen Formatvorlagen.

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

  • Legen Sie die ShowToday-Eigenschaft auf true fest. Im folgenden Beispiel wird zwischen dem Anzeigen und Auslassen des heutigen Datums umschalten, 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);
    

So zeigen Sie Wochennummern an

  • Legen Sie die ShowWeekNumbers-Eigenschaft auf true fest. 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