Hatena::ブログ(Diary)

Yuya Yamaki’s blog このページをアンテナに追加 RSSフィード Twitter

2006年05月22日(月曜日)

DateTimePickerで和暦を表示させる

下記のえムナウさんのblogからです。


DateTimePickerで和暦を表示させる


えムナウさんは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


このコードを書いたら、CustomFormatを使用しているのでFormatプロパティをCustomに設定します。

実行してみますと、年はカレンダーから選択する必要があるという問題はありますが、きちんと平成表記で表示されます。


f:id:Yamaki:20060522112542p:image


ちなみにここからは宣伝になってしまいますが(これが書きたかっただけ?^_^;)、InputManでは書式の設定から簡単に平成表記を設定することができます。


f:id:Yamaki:20060522111441p:image


表示時と入力時の書式を分けて設定することができるので、表示時にはこのような元年表示することもできます。


f:id:Yamaki:20060522112115p:image


えムナウえムナウ 2006/05/22 11:46 コメントありがとうございます。
グレープシティ テクニカルエバンジェリストのかたですか。
是非お会いして情報交換したいですね。
(貰うばっかりかも知れませんが)

YamakiYamaki 2006/05/22 11:58 はじめまして。
>是非お会いして情報交換したいですね。
機会があれば是非お願いいたします。いえ、貰うばっかりになるのは私の方ですよきっと。

じゃんぬねっとじゃんぬねっと 2006/05/22 13:41 GrapeCity さんといえば、いつもお世話になっています。ActiveReports でw

# 確か、矢沢さんが MVP だったような...

YamakiYamaki 2006/05/22 13:54 @ITの掲示板ではいつもお世話いただいております。この場を借りましてお礼をm(_ _)m
はい。矢沢はグレープシティのアドバイザリースタッフです。

じゃんぬねっとじゃんぬねっと 2006/05/22 16:47 @IT 会議室だけでなく、色んな場所で ActiveReports を薦めていますw
回し者だと勘違いされるくらいにww

GrapeCity さんの社員とお逢いできる日を楽しみにしています。(*__ __)

YamakiYamaki 2006/05/22 16:57 ありがとうございます。
機会があれば是非とも直接お会いしてお礼を言わせていただきたいところです。
私も楽しみにしております。

chimagotochimagoto 2006/05/23 01:02 和暦表示はVB6だと簡単にできるので、VB.NETが敬遠された一因です。たぶん。
当時「.NET Frameworkで和暦表示が面倒なのは日本からのフィードバックが足りないからだ」と暴言を吐いておりましたf(^^;)

YamakiYamaki 2006/05/23 09:26 VB6からのユーザーにとっては、Format関数1つでできなくなったということで不便に感じてしまうのは当然ですね。もちろんそれと引き換えに、様々な言語に対応できるようにはなっていますが。
でも、このDateTimePickerの仕様はちょっといけてませんね。

おぎわらおぎわら 2006/05/24 16:29 VSUG DAY 2006 Summer にくると、Yamakiさんに会えるヨカン

日本語環境だとどうみても、InputManの勝ちですね〜
勉強になります〜。

YamakiYamaki 2006/05/24 17:03 おぎわらさんコメントありがとうございます。
もし可能であれば、VSUGでお会いしましょう。

大和 始大和 始 2017/07/02 11:26 DateTimePicker1.Format = DateTimePickerFormat.Custom
が必要みたいです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Yamaki/20060522/1148264786