DateTimePickerを使うとカレンダーから日付を選択させることができます。Windowsフォームアプリケーションで使うことができます。
動作環境
- Windows 10
- Visual Studio Community 2017
- ターゲットフレームワーク .NET Framework 4.6.1
使い方
テキストボックス部分には、今日の日付が表示されます。
右側の▼をクリックすると、下にカレンダーが表示され、日付を選択することができます。

フォーマットを変えて表示する
Formatプロパティを設定し、表示形式を変えることができます。

プロパティ | 値 | 表示形式 |
Format | Long | yyyy年MM月dd日 |
Format | Short | yyyy/MM/dd |
Format | Time | HH/mm/ss |
それぞれの形式で表示してみます。

UpDownで操作する
日付をUpDownで操作するように設定できます。「ShowUpDown」プロパティを「True」に設定します。
プロパティ | 値 |
ShowUpDown | True |
CheckBoxで操作する
CheckBox表示させて、日付設定を操作できないようにします。

チェックボックスをオフにすると日付部分がグレー表示されて操作できなくなります。

※DateTimePicker.Valueに値を設定すると、チェックはオンになります。
日付を取得する
日付を取得することができます。日付の取得はValueプロパティで行いますが、DateTime型のため、テキストボックスに表示させるためには、文字列型に変換する必要があります。
プロパティ | メソッド | 表示形式 |
Value | ToLongDateString | yyyy年mm月dd日 |
Value | ToLongTimeString | HH:mm:ss |
Value | ToShortDateString | yyyy/MM/dd |
Value | ToShortTimeString | HH:mm |
ボタンを使って取得し、テキストボックスに表示してみます。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = dateTimePicker1.Value.ToLongDateString();
textBox2.Text = dateTimePicker1.Value.ToLongTimeString();
textBox3.Text = dateTimePicker1.Value.ToShortDateString();
textBox4.Text = dateTimePicker1.Value.ToShortTimeString();
}
}

日付を設定する
日付を設定する場合は、DateTime型を設定します。下記の例では、string型をDateTime型に変換して代入しています。
string strTime = "2021/05/01 12:34:56";
dateTimePicker1.Value = DateTime.Parse(strTime);
まとめ
DateTimePickerについて説明しました。DateTimePickerは、ユーザが日付を手軽に操作、表示できるWindowsコントロールです。