Como exibir dias específicos em negrito com o controle MonthCalendar dos Windows Forms

O controle Windows Forms MonthCalendar pode exibir dias em negrito, como datas singulares ou em uma base de repetição. Você pode fazer isso para chamar atenção para datas especiais, como feriados e fins de semana.

Três propriedades controlam esse recurso. A BoldedDates propriedade contém datas únicas. A AnnuallyBoldedDates propriedade contém datas que aparecem em negrito todos os anos. A MonthlyBoldedDates propriedade contém datas que aparecem em negrito todos os meses. Cada uma dessas propriedades contém uma matriz de DateTime objetos. Para adicionar ou remover uma data de uma dessas listas, você deve adicionar ou remover um DateTime objeto.

Para exibir uma data em negrito

  1. Crie os DateTime objetos.

    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. Coloque uma única data em negrito chamando o AddBoldedDate, AddAnnuallyBoldedDateou AddMonthlyBoldedDate o MonthCalendar método do controle.

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

    –ou–

    Coloque um conjunto de datas em negrito de uma só vez criando uma matriz de DateTime objetos e atribuindo-a a uma das propriedades.

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

Para exibir uma data na fonte normal

  1. Faça com que uma única data em negrito apareça na fonte normal chamando o RemoveBoldedDatemétodo , RemoveAnnuallyBoldedDateou RemoveMonthlyBoldedDate .

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

    –ou–

    Remova todas as datas em negrito de uma das três listas chamando o RemoveAllBoldedDatesmétodo , RemoveAllAnnuallyBoldedDatesou RemoveAllMonthlyBoldedDates .

    MonthCalendar1.RemoveAllBoldedDates()  
    
    monthCalendar1.RemoveAllBoldedDates();  
    
    monthCalendar1->RemoveAllBoldedDates();  
    
  2. Atualize a aparência da fonte chamando o UpdateBoldedDates método.

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

Confira também