|
.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
|
|
Insider.NET 記事ランキング
本日
月間