[C#] DateTimePickerで今日の日付を設定する方法
C#のDateTimePicker
コントロールで今日の日付を設定するには、Value
プロパティを使用します。
DateTimePicker
のValue
プロパティにDateTime.Today
を代入することで、現在の日付を設定できます。
例えば、dateTimePicker1.Value = DateTime.Today;
と記述します。
これにより、DateTimePicker
はシステムの日付を基に今日の日付を表示します。
DateTime.Today
は時刻部分が0:00:00に設定された日付を返すため、日付のみを扱う場合に便利です。
今日の日付を設定する手順
DateTimePickerのインスタンス作成
C#のWindowsフォームアプリケーションで、DateTimePicker
コントロールを使用するには、まずインスタンスを作成する必要があります。
以下のコードは、MyFormクラス
内でDateTimePicker
のインスタンスを作成する方法を示しています。
partial class MyForm : Form
{
private DateTimePicker dateTimePicker;
public MyForm()
{
InitializeComponent(); // フォームの初期化
dateTimePicker = new DateTimePicker(); // DateTimePickerのインスタンス作成
dateTimePicker.Location = new Point(10, 10); // 位置の設定
this.Controls.Add(dateTimePicker); // フォームに追加
}
}
このコードでは、DateTimePicker
のインスタンスを作成し、フォームに追加しています。
Location
プロパティを使用して、コントロールの表示位置を指定しています。
Valueプロパティに今日の日付を設定
DateTimePicker
のValue
プロパティを使用して、今日の日付を設定することができます。
以下のコードでは、DateTime.Now
を使用して現在の日付を取得し、Value
プロパティに設定しています。
dateTimePicker.Value = DateTime.Now; // 今日の日付を設定
この行をMyForm
のコンストラクタ内に追加することで、フォームが表示されたときにDateTimePicker
に今日の日付が自動的に設定されます。
コード例と解説
以下は、MyFormクラス
全体のコード例です。
DateTimePicker
を作成し、今日の日付を設定する方法を示しています。
using System;
using System.Drawing;
using System.Windows.Forms;
partial class MyForm : Form
{
private DateTimePicker dateTimePicker;
public MyForm()
{
InitializeComponent(); // フォームの初期化
dateTimePicker = new DateTimePicker(); // DateTimePickerのインスタンス作成
dateTimePicker.Location = new Point(10, 10); // 位置の設定
dateTimePicker.Value = DateTime.Now; // 今日の日付を設定
this.Controls.Add(dateTimePicker); // フォームに追加
}
}
このコードを実行すると、フォームが表示され、DateTimePicker
には今日の日付が設定された状態で表示されます。

これにより、ユーザーは簡単に日付を選択できるようになります。
DateTimePickerのカスタマイズ
フォーマットの変更
DateTimePicker
の表示形式を変更することで、ユーザーにとってわかりやすい日付の表示が可能になります。
Format
プロパティを使用して、表示形式を設定できます。
以下のコードでは、DateTimePicker
のフォーマットをShort
に変更しています。
dateTimePicker.Format = DateTimePickerFormat.Short; // 短い日付形式に設定
この設定により、日付は MM/dd/yyyy
形式で表示されます。
Format
プロパティには、他にもLong
やCustom
などのオプションがあります。
カレンダーの表示設定
DateTimePicker
のカレンダーの表示設定を変更することで、ユーザーが日付を選択しやすくなります。
ShowUpDown
プロパティを使用すると、カレンダーの表示を切り替えることができます。
以下のコードでは、カレンダーを表示しない設定にしています。
dateTimePicker.ShowUpDown = true; // カレンダーを表示しない設定
この設定を行うと、ユーザーは上下の矢印ボタンを使用して日付を選択することができます。
カレンダーを表示したい場合は、false
に設定します。
カスタムフォーマットの使用
DateTimePicker
では、カスタムフォーマットを使用して、特定の形式で日付を表示することも可能です。
Custom
フォーマットを選択し、CustomFormat
プロパティを設定します。
以下のコードでは、日付を「yyyy年MM月dd日」として表示するカスタムフォーマットを設定しています。
dateTimePicker.Format = DateTimePickerFormat.Custom; // カスタムフォーマットを使用
dateTimePicker.CustomFormat = "yyyy年MM月dd日"; // 表示形式を設定
この設定により、DateTimePicker
には「2023年10月01日」のように表示されます。
カスタムフォーマットを使用することで、アプリケーションの要件に応じた日付表示が可能になります。
応用例
日付の範囲制限
DateTimePicker
では、選択可能な日付の範囲を制限することができます。
これにより、ユーザーが無効な日付を選択するのを防ぐことができます。
MinDate
およびMaxDate
プロパティを使用して、範囲を設定します。
以下のコードでは、選択可能な日付を2023年1月1日から2023年12月31日までに制限しています。
dateTimePicker.MinDate = new DateTime(2023, 1, 1); // 最小日付を設定
dateTimePicker.MaxDate = new DateTime(2023, 12, 31); // 最大日付を設定
この設定により、ユーザーは指定された範囲内の日付のみを選択できるようになります。
範囲外の日付を選択しようとすると、DateTimePicker
は自動的に最小または最大の日付に制限されます。
日付選択時のイベント処理
DateTimePicker
では、日付が選択されたときに特定の処理を実行するためのイベントを利用できます。
ValueChanged
イベントを使用して、日付が変更されたときに処理を行うことができます。
以下のコードでは、日付が変更されたときにメッセージボックスを表示する例を示しています。
dateTimePicker.ValueChanged += (sender, e) =>
{
MessageBox.Show("選択された日付: " + dateTimePicker.Value.ToString("yyyy年MM月dd日"));
}; // 日付選択時のイベント処理
このコードを追加することで、ユーザーが日付を選択するたびに、選択された日付がメッセージボックスに表示されます。
他のコントロールとの連携
DateTimePicker
は、他のコントロールと連携させることで、よりインタラクティブなユーザーインターフェースを実現できます。
例えば、TextBox
と連携させて、選択した日付をTextBox
に表示することができます。
以下のコードでは、日付が変更されたときにTextBox
に日付を表示する例を示しています。
private TextBox textBox; // TextBoxのインスタンス
public MyForm()
{
InitializeComponent(); // フォームの初期化
textBox = new TextBox(); // TextBoxのインスタンス作成
textBox.Location = new Point(10, 40); // 位置の設定
this.Controls.Add(textBox); // フォームに追加
dateTimePicker.ValueChanged += (sender, e) =>
{
textBox.Text = dateTimePicker.Value.ToString("yyyy年MM月dd日"); // TextBoxに日付を表示
}; // 日付選択時のイベント処理
}
このコードを実行すると、DateTimePicker
で日付を選択するたびに、TextBox
に選択された日付が表示されます。
これにより、ユーザーは選択した日付を簡単に確認できるようになります。
まとめ
この記事では、C#のWindowsフォームアプリケーションにおけるDateTimePicker
の基本的な使い方から、カスタマイズ方法、応用例までを詳しく解説しました。
特に、日付の範囲制限やイベント処理、他のコントロールとの連携について触れることで、実際のアプリケーション開発に役立つ情報を提供しました。
これを機に、DateTimePicker
を活用して、より使いやすいユーザーインターフェースを作成してみてください。