Compartilhar via


Como alterar a aparência do controle MonthCalendar dos Windows Forms

O controle MonthCalendar do Windows Forms permite personalizar a aparência do calendário de várias maneiras. Por exemplo, você pode definir o esquema de cores e optar por exibir ou ocultar números de semana e a data atual.

Para alterar o esquema de cores do calendário do mês

  • Definir propriedades como TitleBackColor, TitleForeColor e TrailingForeColor. A propriedade TitleBackColor também determina a cor da fonte para os dias da semana. A propriedade TrailingForeColor determina a cor das datas que precedem e seguem o mês ou meses exibidos.

    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;  
    

    Nota

    Começando com o Windows Vista e dependendo do tema, definir algumas propriedades pode não alterar a aparência do calendário. Por exemplo, se o Windows estiver definido para usar o tema Aero, definir as propriedades BackColor, TitleBackColor, TitleForeColorou TrailingForeColor não terá efeito. Isso ocorre porque uma versão atualizada do calendário é renderizada com uma aparência derivada em tempo de execução do tema atual do sistema operacional. Se você quiser usar essas propriedades e habilitar a versão anterior do calendário, poderá desabilitar estilos visuais para seu aplicativo. Desabilitar estilos visuais pode afetar a aparência e o comportamento de outros controles em seu aplicativo. Para desabilitar estilos visuais no Visual Basic, abra o Designer de Projeto e desmarque a caixa de seleção Habilitar estilos visuais XP. Para desabilitar estilos visuais em C#, abra Program.cs e comente Application.EnableVisualStyles();. Para obter mais informações sobre estilos visuais, consulte Habilitando estilos visuais.

Para exibir a data atual na parte inferior do controle

  • Defina a propriedade ShowToday como true. O exemplo abaixo alterna entre exibir e omitir a data de hoje quando o formulário é clicado duas vezes.

    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++) Coloque o código a seguir no construtor do formulário para registrar o manipulador de eventos.

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

Para exibir números da semana

  • Defina a propriedade ShowWeekNumbers como true. Você pode definir essa propriedade no código ou na janela Propriedades.

    Os números da semana aparecem em uma coluna separada à esquerda do primeiro dia da semana.

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

Consulte também