[Tips][DateTimePicker] 選択可能な最小日時、最大日時を指定する

本記事はWindowsアプリケーションのTipsです。


DateTiemPickerで選択可能な最小日時、最大日時を指定するには、MinDate,MaxDateプロパティを使用します。

下記は最小日時を2006/4/1 0:00:00に、最大日時を2006/12/31 23:59:59に設定する例です。

VBの例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    '指定可能最小日時を設定(2006/04/01 0:00:00)
    DateTimePicker1.MinDate = New DateTime(2006, 4, 1, 0, 0, 0)
    '指定可能最大日時を設定(2006/12/31 23:59:59)
    DateTimePicker1.MaxDate = New DateTime(2006, 12, 31, 23, 59, 59)
End Sub

C#の例

private void Form1_Load(object sender, EventArgs e)
{
    //指定可能最小日時を設定(2006/04/01 0:00:00)
    dateTimePicker1.MinDate = new DateTime(2006, 4, 1, 0, 0, 0);
    //指定可能最大日時を設定(2006/12/31 23:59:59)
    dateTimePicker1.MaxDate = new DateTime(2006, 12, 31, 23, 59, 59);
}

[Tips][DateTimePicker] ドロップダウンではなくアップダウンボタンに変更する

本記事はWindowsアプリケーションのTipsです。


DateTimePickerはデフォルトではドロップダウンが表示されています。これをUpDownボタンに変更するにはShowUpDownプロパティをTrueにします。

ドロップダウンではなくアップダウンボタンに変更する

 

VBの例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'ドロップダウンをUpDownボタンに変更します
    DateTimePicker1.ShowUpDown = True
End Sub

C#の例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    '指定可能最小日時を設定(2006/04/01 0:00:00)
    DateTimePicker1.MinDate = New DateTime(2006, 4, 1, 0, 0, 0)
    '指定可能最大日時を設定(2006/12/31 23:59:59)
    DateTimePicker1.MaxDate = New DateTime(2006, 12, 31, 23, 59, 59)
End Sub

チェックボックスで操作の有効/無効を切り替える

本記事はWindowsアプリケーションのTipsです。


DateTimePickerはShowCheckBox(Boolean型)というプロパティを持っています。このプロパティをTrueに設定すると、コントロールの左側にチェックボックスが表示されます。チェックがONの場合はコントロール操作が出来、OFFの場合は操作が出来なくなります。

チェックボックスで操作の有効/無効を切り替える例

 

VBの例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'コントロールの左側にチェックボックスを表示します
    DateTimePicker1.ShowCheckBox = True
End Sub

C#の例

private void Form1_Load(object sender, EventArgs e)
{
    //コントロールの左側にチェックボックスを表示します
    dateTimePicker1.ShowCheckBox = true;
}

[Tips][DateTimePicker] カスタムフォーマットを使用する

本記事はWindowsアプリケーションのTipsです。


DateTimePickerに自分の思い通りの形式で表示するにはFormatプロパティをCustomuに設定し、CustomFormatプロパティに書式を設定します。

書式指定文字列 説明
d 1 桁または 2 桁の日付。
dd 2 桁の日付。日付値が 1 桁の場合、前に 0 が付きます。
ddd 3 文字の曜日の省略形。
dddd 完全な曜日名。
h 12 時間形式で表される 1 桁または 2 桁の時間。
hh 12 時間形式で表される 2 桁の時間。値が 1 桁の場合、前に 0 が付きます。
H 24 時間形式で表される 1 桁または 2 桁の時間。
HH 24 時間形式で表される 2 桁の時間。値が 1 桁の場合、前に 0 が付きます。
m 1 桁または 2 桁の分。
mm 2 桁の分。値が 1 桁の場合、前に 0 が付きます。
M 数字で表示する 1 桁または 2 桁の月。
MM 数字で表示する 2 桁の月。値が 1 桁の場合、前に 0 が付きます。
MMM 3 文字の月の省略形。
MMMM 完全な月の名前。
s 1 桁または 2 桁の秒。
ss 2 桁の秒。値が 1 桁の場合、前に 0 が付きます。
t 1 文字の AM/PM の省略形 (“AM” の場合は “A”)。
tt 2 文字の AM/PM の省略形 (“AM” の場合は “AM”)。
y 1 桁の年 (2001 年の場合は “1”)。
yy 年の最後の 2 桁 (2001 の場合は “01”)。
yyyy 完全な年 (2001 の場合は “2001”)。

カスタムフォーマットを使用する例

VBの例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'yyyy/MM/dd HH:mm:ss
    DateTimePicker1.Format = DateTimePickerFormat.Custom
    DateTimePicker1.CustomFormat = "yyyy/MM/dd HH:mm:ss"

    'MM/dd/yyyy HH:mm:ss
    DateTimePicker2.Format = DateTimePickerFormat.Custom
    DateTimePicker2.CustomFormat = "MM/dd/yyyy HH:mm:ss"

    'yyyy年MM月dd日 HH時mm分ss秒
    DateTimePicker3.Format = DateTimePickerFormat.Custom
    DateTimePicker3.CustomFormat = "yyyy年MM月dd日 HH時mm分ss秒"
End Sub

C#の例

private void Form1_Load(object sender, EventArgs e)
{
    //yyyy/MM/dd HH:mm:ss
    dateTimePicker1.Format = DateTimePickerFormat.Custom;
    dateTimePicker1.CustomFormat = "yyyy/MM/dd HH:mm:ss";

    //MM/dd/yyyy HH:mm:ss
    dateTimePicker2.Format = DateTimePickerFormat.Custom;
    dateTimePicker2.CustomFormat = "MM/dd/yyyy HH:mm:ss";

    //yyyy年MM月dd日 HH時mm分ss秒
    dateTimePicker3.Format = DateTimePickerFormat.Custom;
    dateTimePicker3.CustomFormat = "yyyy年MM月dd日 HH時mm分ss秒";
}

[Tips][DateTimePicker] 表示形式を変更する

本記事はWindowsアプリケーションのTipsです。


 

DateTimePickerをフォームに貼り付けた時点では、”2006年 8月31日”のような表示になっています。これを変更するにはFormatプロパティを変更します。 Formatプロパティには、Long, Short, Time, Customを設定することが出来ます。 Longは2006年 8月31日、Shortは2006/8/31、 Timeは12:00:00のように表示します。

表示形式を変更する例

 

VBの例

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    '2006年 8月31日 のように漢字で表示します
    DateTimePicker1.Format = DateTimePickerFormat.Long

    '年,月,日をスラッシュで区切った形式で表示します
    DateTimePicker2.Format = DateTimePickerFormat.Short

    '時刻を表示します
    DateTimePicker3.Format = DateTimePickerFormat.Time
End Sub

C#の例

private void Form1_Load(object sender, EventArgs e)
{
    //2006年 8月31日 のように漢字で表示します
    dateTimePicker1.Format = DateTimePickerFormat.Long;

    //年,月,日をスラッシュで区切った形式で表示します
    dateTimePicker2.Format = DateTimePickerFormat.Short;

    //時刻を表示します
    dateTimePicker3.Format = DateTimePickerFormat.Time;
}