【Visual Studio】DateTimePickerのカレンダーを制御(表示)

環境はVisual Studio 2005 + VB.NET

DateTimePickerを使っていて「F1」キーなどでカレンダーを表示するためのコード。メソッドかプロパティで簡単に実現できるかと思ったけど、ないみたいなので、キーが押されたという情報をアプリケーションに送信しないと駄目みたい。

参考にしたのは、ここここ

サンプルコード。

Public Const WM_SYSKEYDOWN = &H104 'Altキー
Public Const VK_DOWN = &H28 'カーソルキーの↓
' ウィンドウにメッセージを送る関数の宣言  
Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Integer, ByVal Msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer

SendMessage(Me.objDTP.Handle, WM_SYSKEYDOWN, .VK_DOWN, 0)

要はALT+↓をDateTimePickerに対して送信している。