Como alterar a aparência do controle MonthCalendar dos Windows Forms
O controle Windows Forms MonthCalendar permite que você personalize 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 os números de semana e a data atual.
Alterar o esquema de cores do calendário do mês
Defina propriedades como TitleBackColor, TitleForeColor e TrailingForeColor. A TitleBackColor propriedade também determina a cor da fonte para os dias da semana. A TrailingForeColor propriedade 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;
Observação
Desde o Windows Vista e dependendo do tema, definir algumas propriedades pode não mudar a aparência do calendário. Por exemplo, se o Windows estiver definido para usar o tema Aero, a configuração das BackColorpropriedades , TitleBackColor, TitleForeColorou TrailingForeColor não terá efeito. Isso ocorre porque uma versão atualizada do calendário é renderizada com uma aparência derivada no tempo de execução do tema atual do sistema operacional. Se quiser usar essas propriedades e habilitar a versão anterior do calendário, desabilite os estilos visuais para o aplicativo. Desabilitar os estilos visuais pode afetar a aparência e o comportamento de outros controles no seu aplicativo. Para desabilitar estilos visuais no Visual Basic, abra o Project Designer e desmarque a caixa de seleção Habilitar estilos visuais do 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.
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 atual ao clicar duas vezes no formulário.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 seguinte código 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);
Exibir números de semana
Defina a propriedade ShowWeekNumbers como
true
. Você pode definir essa propriedade no código ou na janela Propriedades.Números de semana são exibidos em uma coluna separada à esquerda do primeiro dia da semana.
MonthCalendar1.ShowWeekNumbers = True
monthCalendar1.ShowWeekNumbers = true;
monthCalendar1->ShowWeekNumbers = true;
Confira também
.NET Desktop feedback