DateTimePickerで和暦を表示させる
下記のえムナウさんのblogからです。
えムナウさんはC#で書かれていたので、ここではVBでやってみたいと思います。まぁDimと Asを追加して、thisをMeに変え、;を削除しただけですけどね。
Visual Basic
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
Dim calendar As New System.Globalization.JapaneseCalendar()
Dim culture As New System.Globalization.CultureInfo("ja-JP")
culture.DateTimeFormat.Calendar = calendar
Me.DateTimePicker1.CustomFormat = DateTimePicker1.Value.ToString("gg yy", culture) + "年MM月dd日 dddd tt hh:mm:ss"
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DateTimePicker1_ValueChanged(DateTimePicker1, New EventArgs())
End Sub
Dim calendar As New System.Globalization.JapaneseCalendar()
Dim culture As New System.Globalization.CultureInfo("ja-JP")
culture.DateTimeFormat.Calendar = calendar
Me.DateTimePicker1.CustomFormat = DateTimePicker1.Value.ToString("gg yy", culture) + "年MM月dd日 dddd tt hh:mm:ss"
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DateTimePicker1_ValueChanged(DateTimePicker1, New EventArgs())
End Sub
このコードを書いたら、CustomFormatを使用しているのでFormatプロパティをCustomに設定します。
実行してみますと、年はカレンダーから選択する必要があるという問題はありますが、きちんと平成表記で表示されます。
ちなみにここからは宣伝になってしまいますが(これが書きたかっただけ?^_^;)、InputManでは書式の設定から簡単に平成表記を設定することができます。
表示時と入力時の書式を分けて設定することができるので、表示時にはこのような元年表示することもできます。