Share via


方法 : Windows フォームの MonthCalendar コントロールの外観を変更する

Windows フォームの MonthCalendar コントロールを使用すると、カレンダーの外観をさまざまな方法でカスタマイズできます。 たとえば、配色を設定したり、週番号や現在の日付の表示/非表示を切り替えたりすることができます。

月間予定表の配色を変更するには

  • TitleBackColorTitleForeColorTrailingForeColor などのプロパティを設定します。 TitleBackColor プロパティは、曜日のフォントの色にも影響します。 TrailingForeColor プロパティでは、表示されている月 (1 つまたは複数) の前後の日付の色を決定します。

    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 テーマを使用するように設定されている場合、BackColorTitleBackColorTitleForeColorTrailingForeColor の各プロパティを設定しても、設定は反映されません。 これは、更新されたバージョンのカレンダーが、現在のオペレーティング システムのテーマに従って実行時に生成された外観でレンダリングされるためです。 これらのプロパティを使用して以前のバージョンのカレンダーを有効にしたい場合は、アプリケーションの視覚スタイルを無効にすることもできます。 視覚スタイルを無効にした場合、アプリケーション内の他のコントロールの外観や動作にも影響を与える可能性があります。 Visual Basic で視覚スタイルを無効にするには、プロジェクト デザイナーを開き、 [XP visual スタイルを有効にする] チェック ボックスをオフにします。 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;  
    

関連項目