Windows11の教科書

ウィンドウズ11やスマホで困ったことを調べたブログ

ウィンドウズ11やアプリで困ったことを調べたブログ

スポンサーリンク


【Visual Studio】C#でカレンダーを利用するには? ~ MonthCalnedar

C#でカレンダーを作るためのTIPSを紹介します。カレンダーの場合、日付計算や配置などを書かないといけないので面倒ですが、MonthCalendarを使うのであればかなり短時間で対応できます。

ツールボックスを使う

最も簡単なカレンダーの実装方法は、ツールボックスのMonthCalendarを使うことでしょう。

 

MonthCalendarはツールボックスにあります。

f:id:apicode:20210107103718p:plain

 

張り付けるとこんな感じ。矢印ボタンで月を移動表示することができます。

f:id:apicode:20210107103722p:plain

 

このコンポーネントでは、上の年月のところをクリックすることで月や年の選択もできるようになってます。

f:id:apicode:20210107103942p:plain

 

関数

選択日を変更するには「SetDate関数」を使います。

var date1 = new DateTime(2021, 1, 8, 10, 54, 52);
monthCalendar1.SetDate(date1);

 

選択日を取得するには「SelectionStart」「SelectionEnd」を使います。選択は複数日を選べるので開始と最後の日にちをこれで調べることができます。

日にち変更は「DateChanged」イベントで取得できます。

 private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
 MessageBox.Show("day" + monthCalendar1.SelectionStart.ToString());
}

 

選択可能な日数は「MaxSelectionCount」プロパティで変更できます。ここを1とすると選択できるのは1日間のみとなります。

 

カレンダーの見栄えを変える

これだけだとパッとしませんので少しいじってみましょう。

 

CalendarDimensionsプロパティを使うと複数月表示できます。CalendarDimensionsのWidthを3にすると横に3か月分のカレンダーが表示されます。

f:id:apicode:20210107105546p:plain

 

サイズ変更ですが、プロパティでは対応しないようです。Sizeの数値を変えて入力しても元の数値に戻ってしまいます。

 

簡単に変更できる方法がわかりましたらまた更新したいと思います。

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ