.NET TIPS
DateTimePickerコントロールでコードによりカレンダーを表示するには?[C#、VB]
デジタルアドバンテージ 遠藤 孝信
2009/06/25
Windowsアプリケーションでユーザーに日付を選択させるためのDateTimePickerコントロール(System.Windows.Forms名前空間)では、コントロール右端にある“▼ボタン”をクリックすることによりドロップダウン・カレンダーを表示でき、ユーザーはカレンダーから日付を選択できる。
ドロップダウン・カレンダーを表示中のDateTimePickerコントロール
ただしDateTimePickerコントロールにはドロップダウン・カレンダーを制御するためのメソッドなどがまったく用意されておらず、プログラムでドロップダウン・カレンダーを表示するようなコードを記述できない。
しかし、DateTimePickerコントロールに対して[↓]キーのキーストロークを送信することにより、強制的にドロップダウン・カレンダーを表示させることが可能だ。このコードは次のように記述できる。ここではフォームに配置したボタンがクリックされたときに、ドロップダウン・カレンダーを開くケースを想定している。
// ボタンのClickイベント・ハンドラ
private void button1_Click(object sender, EventArgs e)
{
this.dateTimePicker1.Select();
SendKeys.SendWait("%{DOWN}"); // [↓]キーの送信
}
' ボタンのClickイベント・ハンドラ
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.DateTimePicker1.Select()
SendKeys.SendWait("%{DOWN}") ' [↓]キーの送信
End Sub
DateTimePickerコントロールでドロップダウン・カレンダーを開くコード(上:C#、下:VB)
このコードでは、まずDateTimePickerコントロールのSelectメソッドを呼び出して、コントロールをアクティブにする。そして、SendKeysクラス(System.Windows.Forms名前空間)のSendWaitメソッドにより、キーストロークを送信している。
利用可能バージョン: .NET Framework 2.0以降
カテゴリ: Windowsフォーム 処理対象: DateTimePickerコントロール
使用ライブラリ: DateTimePickerコントロール(System.Windows.Forms名前空間)
使用ライブラリ: SendKeysクラス(System.Windows.Forms名前空間)
generated by
TechTargetジャパン
キャリアアップ
**先週の人気講座ランキング**
〜 Android編 〜