参考:和風月名とは? 旧暦では、和風月名(わふうげつめい)と呼ばれる月の和風の呼び名を使用していました。和風月名は旧暦の季節や行事に合わせたもので、現在の暦でも使用されることがありますが、現在の季節感とは1〜2ヶ月ほどのずれがあります。(国会図書館ギャラリー、暦の中のことばより) |
CalendarGridには「睦月」や「師走」といった和風月名を直接表示する機能はありませんが、次のように簡単なコーディングでカレンダーのヘッダに和風月名を表示できます。
Imports GrapeCity.Win.CalendarGrid Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim month As Integer = GcCalendarGrid1.FirstDateInView.Month - 1 UpdateJapaneseMonthName(month) End Sub Private Sub GcCalendarGrid1_FirstDateInViewChanged(sender As Object, e As EventArgs) Handles GcCalendarGrid1.FirstDateInViewChanged Dim gcCalendarGrid As GcCalendarGrid = DirectCast(sender, GcCalendarGrid) Dim month As Integer = gcCalendarGrid.FirstDateInView.Month - 1 UpdateJapaneseMonthName(Month) End Sub Private Sub UpdateJapaneseMonthName(month As Integer) Dim japaneseMonthNames As String() = "睦月,如月,弥生,卯月,皐月,水無月,文月,葉月,長月,神無月,霜月,師走".Split(",") Dim japaneseMonthNamesReading As String() = "むつき,きさらぎ,やよい,うづき,さつき,みなづき/みなつき,ふみづき/ふづき,はづき/はつき,ながつき/ながづき,かんなづき,しもつき,しわす".Split(",") Dim titleCaption As CalendarTitleCaption = DirectCast(GcCalendarGrid1.TitleHeader.Children("CalendarTitleCaption1"), CalendarTitleCaption) titleCaption.Text = String.Format("{0} ({1})", japaneseMonthNames(month), japaneseMonthNamesReading(month)) End Sub
using GrapeCity.Win.CalendarGrid; private void Form1_Load(object sender, EventArgs e) { int month = gcCalendarGrid1.FirstDateInView.Month - 1; UpdateJapaneseMonthName(month); gcCalendarGrid1.FirstDateInViewChanged += gcCalendarGrid1_FirstDateInViewChanged; } private void gcCalendarGrid1_FirstDateInViewChanged(object sender, EventArgs e) { var gcCalendarGrid = sender as GcCalendarGrid; int month = gcCalendarGrid.FirstDateInView.Month - 1; UpdateJapaneseMonthName(month); } private void UpdateJapaneseMonthName(int month) { var japaneseMonthNames = "睦月,如月,弥生,卯月,皐月,水無月,文月,葉月,長月,神無月,霜月,師走".Split(','); var japaneseMonthNamesReading = "むつき,きさらぎ,やよい,うづき,さつき,みなづき/みなつき,ふみづき/ふづき,はづき/はつき,ながつき/ながづき,かんなづき,しもつき,しわす".Split(','); CalendarTitleCaption titleCaption = gcCalendarGrid1.TitleHeader.Children["calendarTitleCaption1"] as CalendarTitleCaption; titleCaption.Text = string.Format("{0} ({1})", japaneseMonthNames[month], japaneseMonthNamesReading[month]); }