12月11日(2008)


MonthCalendarクラス

日付設定のためにMonthCalendarクラスを使ってみたけど
なかなか性能がいい。

【注意事項】
  • DoubleClickイベントは発生しない
  • MouseDoubleClickイベントも試したけど×
  • 値の取得はイベント発生時に引数から取得する

【イベントからの値の取得】
void monthCalendar1_DateSelected( Object^ /*sender*/,
                                  System::Windows::Forms::DateRangeEventArgs^ e )
{
   e->Start.ToShortDateString(); // 選択範囲の最初の日付
   e->End.ToShortDateString();   // 選択範囲の最後の日付
}

※特定の日を指定したいのならDateTimePickerを使うほうが圧倒的に便利


DateTimePickerクラス

特定の日時、時間を指定するのならこれを使うと便利。
ただし、1つのコントロールでは日時と時間両方の指定は難しいっぽい気がする。
FormatプロパティLongにすると「年月日」、Timeにすると{時分秒}になる。
Timeにした場合はShowUpDownプロパティTrueにすることで、
時間の設定をしやすくすることが出来る。

またFormatプロパティCustomにすることで、CustomFormatプロパティの値が有効になり、
適切な日時書式指定文字列を設定してやることで、ある程度の表示のカスタマイズをすることが可能。

これにより、「年月日時分秒」全てを表示することは可能だが、「年月日」と「時分秒」で分けたほうが
ユーザーは入力しやすいと思われる。(日時はカレンダーで、時間はUpDownカウンタで設定できるから)

値の取得はValueプロパティを使用する(DateTime型
最終更新:2008年12月11日 18:35
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。