[C#][Windows Formsアプリ][DateTimePicker] ShowUpDownプロパティでカレンダーを表示しないスピンボックス形式にする

スポンサーリンク

はじめに

Windows Forms の DateTimePicker には、通常の「カレンダーを開いて日付を選ぶ」形式とは別に、
上下ボタン(スピンボックス)で日時を変更するモードがあります。
それを有効にするのが ShowUpDown プロパティです。

💡 一言でまとめると
ShowUpDown = true にすると、カレンダーが消えて “スピン入力” だけの DateTimePicker になる。

 

ShowUpDown プロパティとは?

プロパティ名 説明
ShowUpDown bool 上下ボタンで値を変更するスピン形式を表示(カレンダーが表示されなくなる)

通常の DateTimePicker はクリックするとカレンダーが表示されますが、
ShowUpDown を true にするとカレンダーは使えず、
フィールドを選択した状態で上下キー or 上下ボタンで変更する方式になります。

 

基本的な使い方

スピンボックス形式をオンにする

dateTimePicker1.ShowUpDown = true;

これだけで、カレンダーが表示されなくなり、上下ボタン形式に切り替わります。

 

ShowUpDown は Format と組み合わせて使うことが多い

ShowUpDown は、特に時刻入力専用 UIとして非常に役立ちます。
その場合、Format と CustomFormat を組み合わせて入力しやすい形式にします。

時刻入力用(最も一般的な使い方)

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "HH:mm";
dateTimePicker1.ShowUpDown = true;

これで、次のような便利な「時刻スピン入力」が完成します👇
**[14:35]**(上下で時や分を増減できる UI)

✔ 時刻入力はカレンダー不要なので、この ShowUpDown モードが最適!

 

ShowUpDown を使うメリット

  • カレンダーが不要な画面で UI がスッキリする
  • 時刻入力が直感的でわかりやすい
  • マウスを使わず、キーボードで効率よく操作できる
  • カレンダー展開による画面崩れが起きない
  • タッチ操作よりキーボード操作が中心の業務アプリに最適

 

ShowUpDown が向いているケース・向かないケース

向いているケース(おすすめ)

  • 時刻入力だけを行いたい画面
  • カレンダーを開く必要がない UI
  • 画面崩れを避けたいフォーム
  • テンキー・キーボード操作中心のシステム(POS、受注入力、予約管理など)

向いていないケース

  • 日付をカレンダーで視覚的に選んでほしい場合
  • 複雑な日付を一度に確認したい場合
  • ユーザーの慣れが「カレンダー操作寄り」の場合

 

サンプル:日付と時刻を両方入力するフォーム

// 日付はカレンダー形式
dateTimePickerDate.Format = DateTimePickerFormat.Short;

// 時刻はスピンボックス形式
dateTimePickerTime.Format = DateTimePickerFormat.Custom;
dateTimePickerTime.CustomFormat = "HH:mm";
dateTimePickerTime.ShowUpDown = true;

このように「日付は普通のカレンダー」「時刻だけスピン形式」と分けて使うと、
業務画面で非常に扱いやすくなります。

 

よくあるハマりポイント

  • ShowUpDown = true にしても見た目が変わらない?
    → Format が Time または Custom のときが効果的。
    日付表示の場合、変化がわかりにくいことがあります。
  • カレンダーが出ない!
    → 正常動作です。ShowUpDown = true にするとカレンダーは出ません。
  • 秒や AM/PM まで操作したい
    → CustomFormat に sstt を追加すればOK。
  • 日付変更がわかりにくい
    → 時刻用として使い、日付は別の DateTimePicker で扱うのがベスト。

 

まとめ

  • ShowUpDown は DateTimePicker を “スピンボックス形式” にするプロパティ。
  • カレンダーは表示されない(上下操作専用になる)。
  • 時刻入力UIとして最強。Format/CustomFormat と組み合わせて使う。
  • 業務アプリで使われる頻度が高く、画面の操作性向上に役立つ。

「時刻をサクッと入力させたい」「カレンダーは邪魔」という画面では、
ぜひ ShowUpDown を使ってユーザーが気持ちよく操作できる UI を作ってみてくださいね。

Please follow and like us:

コメント

タイトルとURLをコピーしました