Permalink
Fetching contributors…
Cannot retrieve contributors at this time
139 lines (108 sloc) 5.48 KB
title ms.custom ms.date ms.prod ms.reviewer ms.suite ms.technology ms.tgt_pltfrm ms.topic dev_langs helpviewer_keywords ms.assetid caps.latest.revision author ms.author manager
How to: Display Specific Days in Bold with the Windows Forms MonthCalendar Control
03/30/2017
.net-framework
dotnet-winforms
article
jsharp
calendars, displaying dates in bold
examples [Windows Forms], calendar controls
GetDayBold event
MonthCalendar control [Windows Forms], dates displayed in bold
8b20db5b-8118-4825-90e8-2c45c186ac7d
13
dotnet-bot
dotnetcontent
wpickett

How to: Display Specific Days in Bold with the Windows Forms MonthCalendar Control

The Windows Forms xref:System.Windows.Forms.MonthCalendar control can display days in bold type, either as singular dates or on a repeating basis. You might do this to draw attention to special dates, such as holidays and weekends.

Three properties control this feature. The xref:System.Windows.Forms.MonthCalendar.BoldedDates%2A property contains single dates. The xref:System.Windows.Forms.MonthCalendar.AnnuallyBoldedDates%2A property contains dates that appear in bold every year. The xref:System.Windows.Forms.MonthCalendar.MonthlyBoldedDates%2A property contains dates that appear in bold every month. Each of these properties contains an array of xref:System.DateTime objects. To add or remove a date from one of these lists, you must add or remove a xref:System.DateTime object.

To make a date appear in bold type

  1. Create the xref:System.DateTime objects.

    Dim myVacation1 As Date = New DateTime(2001, 6, 10)  
    Dim myVacation2 As Date = New DateTime(2001, 6, 17)  
    DateTime myVacation1 = new DateTime(2001, 6, 10);  
    DateTime myVacation2 = new DateTime(2001, 6, 17);  
    DateTime myVacation1 = DateTime(2001, 6, 10);  
    DateTime myVacation2 = DateTime(2001, 6, 17);  
  2. Make a single date bold by calling the xref:System.Windows.Forms.MonthCalendar.AddBoldedDate%2A, xref:System.Windows.Forms.MonthCalendar.AddAnnuallyBoldedDate%2A, or xref:System.Windows.Forms.MonthCalendar.AddMonthlyBoldedDate%2A method of the xref:System.Windows.Forms.MonthCalendar control.

    MonthCalendar1.AddBoldedDate(myVacation1)  
    MonthCalendar1.AddBoldedDate(myVacation2)  
    monthCalendar1.AddBoldedDate(myVacation1);  
    monthCalendar1.AddBoldedDate(myVacation2);  
    monthCalendar1->AddBoldedDate(myVacation1);  
    monthCalendar1->AddBoldedDate(myVacation2);  

    –or–

    Make a set of dates bold all at once by creating an array of xref:System.DateTime objects and assigning it to one of the properties.

    Dim VacationDates As DateTime() = {myVacation1, myVacation2}  
    MonthCalendar1.BoldedDates = VacationDates  
    DateTime[] VacationDates = {myVacation1, myVacation2};  
    monthCalendar1.BoldedDates = VacationDates;  
    Array<DateTime>^ VacationDates = {myVacation1, myVacation2};  
    monthCalendar1->BoldedDates = VacationDates;  

To make a date appear in the regular font

  1. Make a single bolded date appear in the regular font by calling the xref:System.Windows.Forms.MonthCalendar.RemoveBoldedDate%2A, xref:System.Windows.Forms.MonthCalendar.RemoveAnnuallyBoldedDate%2A, or xref:System.Windows.Forms.MonthCalendar.RemoveMonthlyBoldedDate%2A method.

    MonthCalendar1.RemoveBoldedDate(myVacation1)  
    MonthCalendar1.RemoveBoldedDate(myVacation2)  
    monthCalendar1.RemoveBoldedDate(myVacation1);  
    monthCalendar1.RemoveBoldedDate(myVacation2);  
    monthCalendar1->RemoveBoldedDate(myVacation1);  
    monthCalendar1->RemoveBoldedDate(myVacation2);  

    –or–

    Remove all the bolded dates from one of the three lists by calling the xref:System.Windows.Forms.MonthCalendar.RemoveAllBoldedDates%2A, xref:System.Windows.Forms.MonthCalendar.RemoveAllAnnuallyBoldedDates%2A, or xref:System.Windows.Forms.MonthCalendar.RemoveAllMonthlyBoldedDates%2A method.

    MonthCalendar1.RemoveAllBoldedDates()  
    monthCalendar1.RemoveAllBoldedDates();  
    monthCalendar1->RemoveAllBoldedDates();  
  2. Update the appearance of the font by calling the xref:System.Windows.Forms.MonthCalendar.UpdateBoldedDates%2A method.

    MonthCalendar1.UpdateBoldedDates()  
    monthCalendar1.UpdateBoldedDates();  
    monthCalendar1->UpdateBoldedDates();  

See Also

MonthCalendar Control
How to: Select a Range of Dates in the Windows Forms MonthCalendar Control
How to: Change the Windows Forms MonthCalendar Control's Appearance
How to: Display More than One Month in the Windows Forms MonthCalendar Control