Wie lasse ich im VB.NET-2003-MonthCalendar selbst gewählte Datumswerte anzeigen?

Antwort vom

**Ja: Im `MonthCalendar` zeigst du selbst gewählte Daten über die Fettmarkierung an. Entscheidend ist: Die Daten müssen als `DateTime` hinzugefügt und danach mit `UpdateBoldedDates()` aktualisiert werden.** ([learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control)) ## So geht es in VB.NET 2003 Für einzelne feste Tage nimmst du `AddBoldedDate`: ```vb Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MonthCalendar1.AddBoldedDate(New DateTime(2026, 4, 25)) MonthCalendar1.AddBoldedDate(New DateTime(2026, 5, 1)) MonthCalendar1.AddBoldedDate(New DateTime(2026, 12, 24)) MonthCalendar1.UpdateBoldedDates() End Sub ``` Das markiert genau diese Tage fett. Ohne `UpdateBoldedDates()` wird die Anzeige oft nicht sofort neu aufgebaut. ([learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control)) ## Wenn Daten aus einer Liste kommen Dann gehst du einfach per Schleife durch: ```vb Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim daten() As DateTime = { _ New DateTime(2026, 4, 25), _ New DateTime(2026, 4, 30), _ New DateTime(2026, 5, 12) _ } Dim i As Integer For i = 0 To daten.Length - 1 MonthCalendar1.AddBoldedDate(daten(i)) Next MonthCalendar1.UpdateBoldedDates() End Sub ``` Der praktische Unterschied: `AddBoldedDate` ist für einzelne konkrete Tage, nicht für „jeden Monat am 5.“ oder „jedes Jahr am 24.12.“. Dafür gibt es eigene Methoden. ([learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control)) ## Wichtiger Unterschied - `AddBoldedDate(...)` → genau dieses eine Datum - `AddMonthlyBoldedDate(...)` → jeden Monat derselbe Tag - `AddAnnuallyBoldedDate(...)` → jedes Jahr dasselbe Datum ([learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control)) Beispiel: ```vb MonthCalendar1.AddMonthlyBoldedDate(New DateTime(2026, 4, 15)) MonthCalendar1.AddAnnuallyBoldedDate(New DateTime(2026, 12, 24)) MonthCalendar1.UpdateBoldedDates() ``` Hier ist der wenig offensichtliche Punkt: Beim monatlichen und jährlichen Fettdruck ist nicht das ganze Jahr des `DateTime` wichtig, sondern der wiederkehrende Tag bzw. Monat+Tag. ([learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control)) ## Falls du alte Markierungen vorher löschen willst ```vb MonthCalendar1.RemoveAllBoldedDates() MonthCalendar1.UpdateBoldedDates() ``` Das ist wichtig, wenn du die Liste dynamisch neu aufbaust, sonst bleiben alte Markierungen stehen. ([learn.microsoft.com](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control)) Wenn du die Microsoft-Doku dazu brauchst: [fett markierte Tage im MonthCalendar](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/controls/display-specific-days-in-bold-with-wf-monthcalendar-control).

Kategorie: Technik Tags: Vbnet Monthcalendar Datum