C#でカレンダーを作るためのTIPSを紹介します。カレンダーの場合、日付計算や配置などを書かないといけないので面倒ですが、MonthCalendarを使うのであればかなり短時間で対応できます。
ツールボックスを使う
最も簡単なカレンダーの実装方法は、ツールボックスのMonthCalendarを使うことでしょう。
MonthCalendarはツールボックスにあります。
張り付けるとこんな感じ。矢印ボタンで月を移動表示することができます。
このコンポーネントでは、上の年月のところをクリックすることで月や年の選択もできるようになってます。
関数
選択日を変更するには「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か月分のカレンダーが表示されます。
サイズ変更ですが、プロパティでは対応しないようです。Sizeの数値を変えて入力しても元の数値に戻ってしまいます。
簡単に変更できる方法がわかりましたらまた更新したいと思います。