スライドショー

【C#入門】DateTimePickerの使い方(設定と取得、入力も解説)

DateTimePickerって使ってますか?DateTimePickerはGUIでカレンダー形式で日付を表示する場合に使うコントロールです。

WindowsフォームでDateTimePickerを使うことができます。ちなみにWindowsフォームとはC言語などで使われるWin32 APIを継承しているGUI開発ライブラリのことです。

この記事では、WindowsフォームのDateTimePickerについて

  • DateTimePickerとは
  • DateTimePickerの使い方
  • DateTimePickerで指定した日付を取得
  • DateTimePickerにnullを入力する方法
  • といった基本的な内容から、など応用的な使い方についても解説していきます。今回はWindowsフォームのDateTimePickerについて、使い方をわかりやすく解説します。

    DateTimePickerとは

    DataGridViewとはGUIでカレンダー形式で日付を表示、操作する場合に使うコントロールのことです。Windowsフォームで用意されています。WindowsフォームはC言語などで使われるWin32 APIを継承したGUI開発ライブラリです。

    DateTimePickerの使い方

    それでは、早速使い方について説明していきます。DateTimePickerの使い方を説明する前に、まずはWindowsフォームの使い方ですが、こちらで詳しく解説しています。ぜひ参考にしてください。

    【C#入門】DataGridViewの使い方(行の追加・削除、ソートも解説)
    更新日 : 2019年4月22日

    DateTimePickerコントロールは「ツールボックス」の「コモンコントロール」に用意されています。
    c#_datetimepicker01

    「DateTimePicker」をクリックし、「Form1.cs」のデザインの「Window」へドラッグ&ドロップすることで使えるようになります。
    c#_datetimepicker02

    テキストボックスにはデフォルトで今日の日付が表示されます。テキストボックスの右側のアイコンをクリックすると下にカレンダーが表示され、日付を選択することができます。
    c#_datetimepicker03

    Short形式で表示する方法

    DateTimePickerでテキストボックスに表示される日付はデフォルトでLong形式になっています。これをプロパティFormatで設定することができます。Short形式やTime形式に設定できます。
    c#_datetimepicker04

    まずはShort形式に設定してみましょう。Short形式は「yyyy/MM/dd」形式で表示します。

    c#_datetimepicker05

    Time形式で表示する方法

    次にTime形式に設定してみましょう。Time形式は時刻を「HH/mm/ss」形式で表示します。
    c#_datetimepicker06

    UpDownで操作する方法

    日付をUpDownコントロールで操作できるように設定してみましょう。プロパティShowUpDownで値をTrueに設定します。日付を1日ずつ進ませたり、遅らせたりすることができます。
    c#_datetimepicker07

    CheckBoxで操作する方法

    日付をCheckBoxコントロールで操作できるように設定してみましょう。プロパティShowCheckBoxで値をTrueに設定します。日付を表示するテキストボックスの左端にCheckBoxが表示されます。
    c#_datetimepicker08

    DateTimePickerで指定した日付を取得

    それではDateTimePickerで指定した日付を取得する方法についてみていきましょう。日付を取得するにはValueプロパティを使います。Valueプロパティで取得できるのは、DateTime型です。

    文字列で取得する場合は、ValueプロパティからToStringメソッドなどを呼び出し文字列に変換します。ボタンを使って取得し、テキストボックスに表示してみましょう。
    c#_datetimepicker09

    ToStringメソッドで文字列に変換すると時刻も含まれます。時刻を含めたくない場合は、ToLongDateStringメソッドやToShortDateStringメソッドで文字列へ変換しましょう。

    ToLongDateStringメソッドの場合は「yyyy月M月d日」形式で文字列へ変換されます。ToShortDateStringメソッドの場合は「yyyy/MM/dd」形式で文字列へ変換されます。
    c#_datetimepicker10

    DateTimePickerに入力する方法

    先ほどDateTimePickerコントロールのValueプロパティをご紹介しましたが、ValueプロパティはDateTime型の値を入力することもできます。

    dateTimePicker1.Value = new DateTime(2018, 6, 1);

    nullを入力する方法

    データベースなどから日付を入力しようとする場合に、データベースでnullを許容している場合があります。しかし、DateTimePickerコントロールのValueプロパティはnullを入力することはできずエラーが発生します。

    そこで、nullを入力する方法をご紹介します。nullを入力できるようにするには、DateTimePickerコントロールを継承したクラスを自作する必要があります。

    自作する方法についてはこちらで詳しく解説しています。

    https://social.msdn.microsoft.com/Forums/windows/en-US/ee0c5fbe-8d18-4899-8df2-46535b570bb4/how-to-create-a-nullable-and-editable-datetimepicker?forum=winforms

    まとめ

    ここではDateTimePickerコントロールについて説明しました。DateTimePickerコントロールは日付データをカレンダー形式で手軽に表示、操作することができます。

    使いこなすことができるように、この記事を何度も参考にして下さいね!

    LINEで送る
    Pocket

    無料でSEからWebエンジニアへ転職しませんか?



    侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

    • システムエンジニアという職業だけどコードが書けない
    • 事務作業が多くスキルがないため将来が不安
    • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
    という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

    弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

    既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

    まずは無料体験レッスンを予約する

    書いた人

    長野 透

    長野 透

    熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
    お問合せはこちらでも受け付けています。
    [email protected]

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説