2009年09月02日
Binding.FormatString プロパティ
たとえば、WindowsFormsで、DateTime型のデータをTextBoxにバインドしたい場合、
最も簡単な方法は以下のようなコードです。
しかし、これを実行すると、TextBoxには、
2009/03/31 15:09:49
のように表示されます。
でも、和暦で表示したい場合はどうするのかな?、ということで、
として、ApplicationにCurrentCultureをJapaneseCalenderに設定してやりました。
そうすると、
平成 21/3/31 15:11:00
という表示になります。
でも、時分秒は不要です。
フォーマット済みの文字列をTexbBoxにバインドするのは避けたいし、 バインディングをあきらめたくはありません。
そんな時に使えるのが、Binding.FormatString プロパティです。
以下、Binding.FormatString プロパティを使ったコードです。
つまり、表示する際に、now.ToString("ggyy年M月d日"); を呼び出し、文字列にしてしまおうというわけです。
しかし、これを実行すると、TextBoxには、
2009/03/31 15:09:49
のように表示されます。
でも、和暦で表示したい場合はどうするのかな?、ということで、
として、ApplicationにCurrentCultureをJapaneseCalenderに設定してやりました。
そうすると、
平成 21/3/31 15:11:00
という表示になります。
でも、時分秒は不要です。
フォーマット済みの文字列をTexbBoxにバインドするのは避けたいし、 バインディングをあきらめたくはありません。
そんな時に使えるのが、Binding.FormatString プロパティです。
以下、Binding.FormatString プロパティを使ったコードです。
つまり、表示する際に、now.ToString("ggyy年M月d日"); を呼び出し、文字列にしてしまおうというわけです。



