クールすぎるNullを許可するDateTimePicker、その名もUltraDateTimePicker

どうしても自分じゃ、スマートな自作のNull許容DateTimePickerが作り出せなくて
結局悩みまくって調べまくってたら、UltraDateTimePickerというのに出会った!!
これは本当にクール!!!!

【2017/04/12 追記】
コントロールの親を動的に変えたりだとか色々試してたら、不備があったり、既存と同様のイベント発生がされなかったりしたので、調べまくったり、色んなコードを参考にしながら自前で作っちゃいました。
※UltraDateTimePickerの仕様をすべて網羅した形ではありません。
(nullの時にテキストを表示するとか)
【C#】nullを許容する、読み取り専用にする、文字色・背景色の変更ができるDateTimePicker

見つけたサイトはここ。
http://social.msdn.microsoft.com/forums/en-US/winforms/thread/ee0c5fbe-8d18-4899-8df2-46535b570bb4/

最新ソースの投稿日時は「Monday, January 08, 2007 9:38 PM」のやつ。
使い方も「Friday, June 15, 2007 1:36 AM」に紹介してるっぽい。
新規コンポーネントを作って、クラスファイルを全部書き換えればいい。

どうやら、ComboBoxも何か紹介してる様子。
プロパティが追加されているのは分かったけど、具体的にどう変化してるのかまでは
調べてない。

それよりDateTimePicker、これは本当に素晴らしすぎる。
素晴らしい点。
継承してるから、普通のDateTimePickerと見た目もプロパティも全く一緒。
Deleteキーで日付をNullにできる。
BackSpaceキーでも日付をNullにできる。
日付が消えてる状態で数字を打つと、フォーマットが復活して入力可能。

これほんとに凄い。
気になる点としては、以下の2点。
・BackSpaceキーによる日付Null制御で、ドゥン!っていう入力が拒否
されたアラート音がする。
・日付Null状態から入力を行おうとした時、現在日時を表示してはくれない。

上の2点については自分ソースに書き換えた時に調整するつもり。
俺も含めて、日本人はまだまだダメだなぁ~って思った。

Nullable DateTimePickerも試してみたけど、それより断然いい。
Nullable DateTimePicker
このNullable DateTimePickerは正直、以下が不満過ぎる。
・Deleteキーの日付Null制御でコントロールがちらつく。
・日付Null状態からの日付再入力がカレンダーからしか行えない。

日付再入力は別にちょろっと書き換えれば実現できるんだけど、それでも
ちらつくのがどうしょもなさすぎる。
ということで

盛り上がってまいりました!!!

こりゃあ、土日かけてUltraDateTimePickerを解析だぜ!
m_shane_txさん、本当にありがとうございます。
あなたが神だ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です