FC2ブログ

記事一覧

DateTimePickerコントロール(VB.NET)にて手動入力にバグあり!

DateTimePickerコントロール(VB.NET)にて、手動入力で1桁入力(例えば01月を1月)しても、KeyDownイベント等で値(Value)を正しく取得できない。直前のに設定された値が取得されてしまう。
調査した所、DateTimePickerコントロールのバグと判明!
じゃぁ、どうするかっていうと、以下のようにラッパークラスを作成して、例えばOnKeyPressイベントで、SendKeysでカーソルを移動させると正しい値を取得できるようになった。


Partial Public Class UltraDateTimePicker
Inherits DateTimePicker
Implements ISupportInitialize
・・・・・・・・・・
Protected Overrides Sub OnKeyPress(e As KeyPressEventArgs)
If (e.KeyChar = ControlChars.Cr) Then
SendKeys.SendWait("{right}")
SendKeys.SendWait("{left}")
End If
・・・・・・・・・・
End SUb
・・・・・・・・・・
End Class
スポンサーサイト



コメント

コメントの投稿

非公開コメント