DateTimePickerって使ってますか?DateTimePickerはGUIでカレンダー形式で日付を表示する場合に使うコントロールです。
WindowsフォームでDateTimePickerを使うことができます。ちなみにWindowsフォームとはC言語などで使われるWin32 APIを継承しているGUI開発ライブラリのことです。
この記事では、WindowsフォームのDateTimePickerについて
といった基本的な内容から、など応用的な使い方についても解説していきます。今回はWindowsフォームのDateTimePickerについて、使い方をわかりやすく解説します。
DateTimePickerとは
DataGridViewとはGUIでカレンダー形式で日付を表示、操作する場合に使うコントロールのことです。Windowsフォームで用意されています。WindowsフォームはC言語などで使われるWin32 APIを継承したGUI開発ライブラリです。
DateTimePickerの使い方
それでは、早速使い方について説明していきます。DateTimePickerの使い方を説明する前に、まずはWindowsフォームの使い方ですが、こちらで詳しく解説しています。ぜひ参考にしてください。
DateTimePickerコントロールは「ツールボックス」の「コモンコントロール」に用意されています。
「DateTimePicker」をクリックし、「Form1.cs」のデザインの「Window」へドラッグ&ドロップすることで使えるようになります。
テキストボックスにはデフォルトで今日の日付が表示されます。テキストボックスの右側のアイコンをクリックすると下にカレンダーが表示され、日付を選択することができます。
Short形式で表示する方法
DateTimePickerでテキストボックスに表示される日付はデフォルトでLong形式になっています。これをプロパティFormatで設定することができます。Short形式やTime形式に設定できます。
まずはShort形式に設定してみましょう。Short形式は「yyyy/MM/dd」形式で表示します。
Time形式で表示する方法
次にTime形式に設定してみましょう。Time形式は時刻を「HH/mm/ss」形式で表示します。
UpDownで操作する方法
日付をUpDownコントロールで操作できるように設定してみましょう。プロパティShowUpDownで値をTrueに設定します。日付を1日ずつ進ませたり、遅らせたりすることができます。
CheckBoxで操作する方法
日付をCheckBoxコントロールで操作できるように設定してみましょう。プロパティShowCheckBoxで値をTrueに設定します。日付を表示するテキストボックスの左端にCheckBoxが表示されます。
DateTimePickerで指定した日付を取得
それではDateTimePickerで指定した日付を取得する方法についてみていきましょう。日付を取得するにはValueプロパティを使います。Valueプロパティで取得できるのは、DateTime型です。
文字列で取得する場合は、ValueプロパティからToStringメソッドなどを呼び出し文字列に変換します。ボタンを使って取得し、テキストボックスに表示してみましょう。
ToStringメソッドで文字列に変換すると時刻も含まれます。時刻を含めたくない場合は、ToLongDateStringメソッドやToShortDateStringメソッドで文字列へ変換しましょう。
ToLongDateStringメソッドの場合は「yyyy月M月d日」形式で文字列へ変換されます。ToShortDateStringメソッドの場合は「yyyy/MM/dd」形式で文字列へ変換されます。
DateTimePickerに入力する方法
先ほどDateTimePickerコントロールのValueプロパティをご紹介しましたが、ValueプロパティはDateTime型の値を入力することもできます。
dateTimePicker1.Value = new DateTime(2018, 6, 1);
nullを入力する方法
データベースなどから日付を入力しようとする場合に、データベースでnullを許容している場合があります。しかし、DateTimePickerコントロールのValueプロパティはnullを入力することはできずエラーが発生します。
そこで、nullを入力する方法をご紹介します。nullを入力できるようにするには、DateTimePickerコントロールを継承したクラスを自作する必要があります。
自作する方法についてはこちらで詳しく解説しています。
まとめ
ここではDateTimePickerコントロールについて説明しました。DateTimePickerコントロールは日付データをカレンダー形式で手軽に表示、操作することができます。
使いこなすことができるように、この記事を何度も参考にして下さいね!