.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メソッドにより、キーストロークを送信している。End of Article

利用可能バージョン:.NET Framework 2.0以降
カテゴリ:Windowsフォーム 処理対象:DateTimePickerコントロール
使用ライブラリ:DateTimePickerコントロール(System.Windows.Forms名前空間)
使用ライブラリ:SendKeysクラス(System.Windows.Forms名前空間)

この記事と関連性の高い別の.NET TIPS
DateTimePickerコントロールでDBNullを扱うには?
[ASP.NET AJAX]Calendarコントロールで日付入力ボックスを定義するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH