DOBON.NET DOBON.NETプログラミング掲示板過去ログ

日付コンロールで空入力を行いたい。

環境/言語:[WinXP, C#, .NET Framework2.0]
分類:[.NET]

こんにちは。アべです。

従業員の設定で、退社日などは入力したくないのですが、
日付入力のコントロールでは未入力の状態を表現できないので
困っております。

こちらでは、DateTimePickerを継承して日付コントロールを
作成しておりますが、まったく上手くいかずに困っております。
日付入力のコントロールで未入力を表現する方法ってあるのでしょうか?

サードパーティの日付コントロールは、「____/__/__」
とう表示状態になるので日付の未入力を表現していたのですが、
今回は標準のコントロールで作成しなければならず、
このような状態を作りたいと考えております。

何かご存知の方アドバイスをお願い致します。
■No16325に返信(kiyo7447さんの記事)
> こちらでは、DateTimePickerを継承して日付コントロールを
> 作成しておりますが、まったく上手くいかずに困っております。
> 日付入力のコントロールで未入力を表現する方法ってあるのでしょうか?
(snip)
> サードパーティの日付コントロールは、「____/__/__」
> とう表示状態になるので日付の未入力を表現していたのですが、
> 今回は標準のコントロールで作成しなければならず、
> このような状態を作りたいと考えております。

こちらを一通り読まれることをお勧めします。
http://japan.internet.com/developer/20050822/25.html
じゃんぬねっとさん、アドバイス有難うございます。

CustomFormatを変更することで、空表示可能な日付コントロールが
出来ました。しかし、その状態で、入力を行おうと思い、数字キーを
押下すると反応がありません。入力が出来なくて困っています。

いろいろ調べたのですが、キーが押下された時にCustomFormatを
元に戻して「yyyy/MM/dd」に変更するとどうもキーが効かなくるようです。

(キーの処理WinProcなどを使用して通常のイベント発生前に
CustomFormatを使用して変更しても動きませんでした。)

この状態は、右矢印キーを押すと直るのですが、、、、
空入力状態の日付コントロールで数字キーが押下されたら、
通常の入力状態へ持っていき、その数字を表示する方法がが
わかっておりません。

すみませんが、何かわかりましたら、アドバイスをお願い致します。

DOBON.NET | プログラミング道 | プログラミング掲示板