Поделиться через


Практическое руководство. Изменение внешнего вида элемента управления MonthCalendar в Windows Forms

Элемент управления MonthCalendar Windows Forms позволяет настраивать внешний вид календаря различными способами. Например, можно задать цветовую схему и выбрать отображение или скрытие номеров недели и текущей даты.

Изменение цветовой схемы календаря месяца

  • Задайте такие свойства, как TitleBackColor, TitleForeColor и TrailingForeColor. Свойство TitleBackColor также определяет цвет шрифта в течение дней недели. Свойство TrailingForeColor определяет цвет дат, предшествующих отображаемым месяцам или месяцам.

    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;  
    

    Заметка

    Начиная с Windows Vista и в зависимости от темы, установка некоторых свойств может не изменить внешний вид календаря. Например, если в Windows задано использование темы Aero, установка свойств BackColor, TitleBackColor, TitleForeColorили TrailingForeColor не влияет. Это связано с тем, что обновленная версия календаря отображается с внешним видом, производным во время выполнения из текущей темы операционной системы. Если вы хотите использовать эти свойства и включить более раннюю версию календаря, можно отключить визуальные стили для приложения. Отключение стилей визуальных элементов может повлиять на внешний вид и поведение других элементов управления в приложении. Чтобы отключить визуальные стили в Visual Basic, откройте конструктор проектов и снимите флажок Включить визуальные стили XP. Чтобы отключить стили визуальных элементов в C#, откройте Program.cs и закомментируйте Application.EnableVisualStyles();. Дополнительные сведения о стилях визуальных элементов см. в разделе включение визуальных стилей.

Отображение текущей даты в нижней части элемента управления

  • Задайте для свойства ShowToday значение true. Приведенный ниже пример переключается между отображением и опущением сегодняшней даты при двойном щелчке формы.

    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++) Поместите следующий код в конструктор формы, чтобы зарегистрировать обработчик событий.

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

Чтобы отображать номера недели

  • Задайте для свойства ShowWeekNumbers значение true. Это свойство можно задать в коде или в окне "Свойства".

    Номера недели отображаются в отдельном столбце слева от первого дня недели.

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

См. также