MESCIUS InputMan for WPF 3.0J > InputMan for WPF の使い方 > 日付コントロール > 書式を設定する > フィールドオブジェクトによる書式設定 |
このセクションでは、フィールドオブジェクトによる書式設定について説明します。
入力時の書式を設定する入力フィールドには、次の 11 種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。
また、表示フィールドでは、次の 14 種類のフィールドが提供されています。
これらのフィールドオブジェクトを DateFieldCollection コレクションもしくは DateDisplayFieldCollection コレクションに追加するには、Add メソッドまたは、AddRange メソッドを使用します。
以下のサンプルコードは、日付コントロールに入力書式を設定する例です。AddRange メソッドを使用して DateFieldCollection コレクションにフィールドを追加しています。
' フィールドをクリアします。 GcDateTime1.FieldSet.Fields.Clear() GcDateTime1.DisplayFieldSet.DisplayFields.Clear() ' 入力フィールドのオブジェクトを作成します。 Dim dateYearField1 As New DateYearField(YearDigitType.FourDigitYear) Dim dateLiteralField1 As New DateLiteralField("/") Dim dateMonthField1 As New DateMonthField(MonthPattern.Number) Dim dateLiteralField2 As New DateLiteralField("/") Dim dateDayField1 As New DateDayField() ' フィールドをコレクションに追加してコントロールに入力書式を設定します。 GcDateTime1.FieldSet.Fields.AddRange(New DateField() { _ dateYearField1, dateLiteralField1, dateMonthField1, _ dateLiteralField2, dateDayField1}) ' 表示フィールドのオブジェクトを作成します。 Dim dateYearDisplayDield1 As New DateYearDisplayField(False) Dim dateLiteralDisplayField1 As New DateLiteralDisplayField("年") Dim dateMonthDisplayField1 As New DateMonthDisplayField(False) Dim dateLiteralDisplayField2 As New DateLiteralDisplayField("月") Dim dateDayDisplayField1 As New DateDayDisplayField(False) Dim dateLiteralDisplayField3 As New DateLiteralDisplayField("日") ' フィールドをコレクションに追加してコントロールに表示書式を設定します。 GcDateTime1.DisplayFieldSet.DisplayFields.AddRange(New DateDisplayField() { _ dateYearDisplayDield1, dateLiteralDisplayField1, dateMonthDisplayField1, _ dateLiteralDisplayField2, dateDayDisplayField1, dateLiteralDisplayField3})
using GrapeCity.Windows.InputMan; using GrapeCity.Windows.InputMan.Fields; // フィールドをクリアします。 GcDateTime1.FieldSet.Fields.Clear(); GcDateTime1.DisplayFieldSet.DisplayFields.Clear(); // 入力フィールドのオブジェクトを作成します。 DateYearField dateYearField1 = new DateYearField(YearDigitType.FourDigitYear); DateLiteralField dateLiteralField1 = new DateLiteralField("/"); DateMonthField dateMonthField1 = new DateMonthField(MonthPattern.Number); DateLiteralField dateLiteralField2 = new DateLiteralField("/"); DateDayField dateDayField1 = new DateDayField(); // フィールドをコレクションに追加してコントロールに入力書式を設定します。 GcDateTime1.FieldSet.Fields.AddRange(new DateField[] { dateYearField1, dateLiteralField1, dateMonthField1, dateLiteralField2, dateDayField1 }); // 表示フィールドのオブジェクトを作成します。 DateYearDisplayField dateYearDisplayDield1 = new DateYearDisplayField(false); DateLiteralDisplayField dateLiteralDisplayField1 = new DateLiteralDisplayField("年"); DateMonthDisplayField dateMonthDisplayField1 = new DateMonthDisplayField(false); DateLiteralDisplayField dateLiteralDisplayField2 = new DateLiteralDisplayField("月"); DateDayDisplayField dateDayDisplayField1 = new DateDayDisplayField(false); DateLiteralDisplayField dateLiteralDisplayField3 = new DateLiteralDisplayField("日"); // フィールドをコレクションに追加してコントロールに表示書式を設定します。 GcDateTime1.DisplayFieldSet.DisplayFields.AddRange(new DateDisplayField[] { dateYearDisplayDield1, dateLiteralDisplayField1, dateMonthDisplayField1, dateLiteralDisplayField2, dateDayDisplayField1 , dateLiteralDisplayField3 });
<im:GcDateTime> <im:GcDateTime.FieldSet> <im:DateFieldSet> <im:DateYearField /> <im:DateLiteralField Text="/" /> <im:DateMonthField /> <im:DateLiteralField Text="/" /> <im:DateDayField /> </im:DateFieldSet> </im:GcDateTime.FieldSet> <im:GcDateTime.DisplayFieldSet> <im:DateDisplayFieldSet> <im:DateYearDisplayField /> <im:DateLiteralDisplayField Text="年" /> <im:DateMonthDisplayField /> <im:DateLiteralDisplayField Text="月" /> <im:DateDayDisplayField /> <im:DateLiteralDisplayField Text="日" /> </im:DateDisplayFieldSet> </im:GcDateTime.DisplayFieldSet> </im:GcDateTime>
(図):上記サンプルコードを適用したコントロール
フィールドオブジェクトを DateFieldCollection または DateDisplayFieldCollection コレクションから削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。
以下のサンプルコードは、DateFieldCollection コレクションの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。
GcDateTime1.FieldSet.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GcDateTime1.FieldSet.Fields.RemoveAt(0);
ここでは、日付コントロールの入力フィールドに設定可能な 11 種類のフィールドについて解説します。
午前/午後入力フィールド(DateAmPmField)は、時刻の午前/午後を入力するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
AMDesignator | 午前を表す文字列を設定します。 | ||||
Pattern | 午前/午後を表す文字の表示方法を設定します(AmPmPattern 列挙体)。
| ||||
PMDesignator | 午後を表す文字列を設定します。 | ||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
日入力フィールド(DateDayField)は、日を入力するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
年号入力フィールド(DateEraField)は、年号を入力するフィールドです。
プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
AllowDropDownOpen | フィールドに設定可能な値をドロップダウンリストで表示できるようにするかどうか設定します。 | ||||||
AutoOpenDropDown | フィールドがキャレットが移動されたときに自動的にドロップダウンリストを表示するかどうか指定します。 | ||||||
Pattern | 年号を表す文字列を設定します(EraPattern 列挙体)。
| ||||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||||
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
和暦入力フィールド(DateEraYearField)は、和暦の年号を入力するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
時間入力フィールド(DateHourField)は、時刻の時間を入力するフィールドです。
プロパティ | 説明 |
---|---|
MidnightAs24 | 真夜中の表示方法を取得または設定します。 |
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
リテラル文字フィールド(DateLiteralField)は、リテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字として表示する文字列を設定します。 |
分入力フィールド(DateMinuteField)は、時刻の分を入力するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
月入力フィールド(DateMonthField)は、月を入力するフィールドです。
プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
AllowDropDownOpen | フィールドに設定可能な値をドロップダウンリストで表示できるようにするかどうか設定します。 | ||||||
AutoOpenDropDown | フィールドがキャレットが移動されたときに自動的にドロップダウンリストを表示するかどうか指定します。 | ||||||
Pattern | 月を表す文字列を設定します(MonthPattern 列挙体)。
| ||||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||||
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
秒入力フィールド(DateSecondField)は、時刻の秒を入力するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
12 時間制時刻入力フィールド(DateShortHourField)は、12 時間制の時刻を入力するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
Hour12Mode | 12時間の範囲を定義する値を取得または設定します(Hour12Mode 列挙体)。
| ||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||
SpinIncrement | スピン機能により日付を増減する値を設定します。 |
年入力フィールド(DateYearField)は、西暦の年を入力するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||
SpinIncrement | スピン機能により日付を増減する値を設定します。 | ||||
TwoDigitYearMax | 西暦2桁入力時の有効期間(100 年間)の最後の年を取得または設定します。 | ||||
YearDigit | 西暦の表示桁数を設定します(YearDigitType 列挙体)。
|
ここでは、日付コントロールの表示フィールドに設定可能な 14 種類のフィールドについて解説します。
西暦表示フィールド(DateADDisplayField)は、紀元後を表す A.D. を表示するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
午前/午後表示フィールド(DateAmPmDisplayField)は、時刻の午前/午後を表示するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
AMDesignator | 午前を表す文字列を設定します。 | ||||
Pattern | 午前/午後を表す文字の表示方法を設定します(AmPmPattern 列挙体)。
| ||||
PMDesignator | 午後を表す文字列を設定します。 | ||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
日表示フィールド(DateDayDisplayField)は、日を表示するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
年号表示フィールド(DateEraDisplayField)は、年号を表示するフィールドです。
プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
Pattern | 年号を表す文字列を設定します(EraPattern 列挙体)。
| ||||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
和暦表示フィールド(DateEraYearDisplayField)は、和暦の年数を表示するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
ShowTraditionalFirstYear | 開始年を元と表示するかどうか設定します。 |
時間表示フィールド(DateHourDisplayField)は、時刻の時間を表示するフィールドです。
プロパティ | 説明 |
---|---|
MidnightAs24 | 真夜中の表示方法を取得または設定します。 |
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
リテラル文字表示フィールド(DateLiteralDisplayField)は、リテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字として表示する文字列を設定します。 |
分表示フィールド(DateMinuteDisplayField)は、時刻の分を表示するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
月表示フィールド(DateMonthDisplayField)は、月を表示するフィールドです。
プロパティ | 説明 | ||||||
---|---|---|---|---|---|---|---|
Pattern | 月を表す文字列を設定します(MonthPattern 列挙型)。
| ||||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||||
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
秒表示フィールド(DateSecondDisplayField)は、時刻の秒を表示するフィールドです。
プロパティ | 説明 |
---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
12 時間制時刻表示フィールド(DateShortHourDisplayField)は、12 時間制の時刻を表示するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
Hour12Mode | 12 時間の範囲を定義する値を取得または設定します(Hour12Mode 列挙体)。
| ||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 |
システム書式表示フィールド(DateSystemFormatDisplayField)は、システムで定義された書式指定子を使用して日付または時刻の書式を設定します。
プロパティ | 説明 |
---|---|
Pattern | システム書式を表す書式指定子を設定します(String 型)。 |
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
Pattern プロパティに設定可能な書式指定子は以下の通りです。
書式指定子 | 説明 |
---|---|
d | 短い形式の日付 (例:2009/10/01) |
D | 長い形式の日付 (例:2009年10月1日) |
t | 短い形式の時刻 (例:10:30) |
T | 長い形式の時刻 (例:10:30:00) |
f | 長い形式の日付と短い形式の時刻 (例:2009年10月1日 10:30) |
F | 長い形式の日付と長い形式の時刻 (例:2009年10月1日10:30:00) |
g | 短い形式の日付と短い形式の時刻 (例:2009/10/01 10:30) |
G | 短い形式の日付と長い形式の時刻 (例:2009/10/01 10:30:00) |
M または m | 月日の表示 (例:10月1日) |
O または o | ラウンドトリップ形式 (例:2009-10-01T10:30:00.0000000+09:00) |
R または r | RFC1123 の形式 (例:Thu, 01 Oct 2009 10:30:00 GMT) |
S | ISO 8601 準拠の形式 (例:2009-10-01T10:30:00) |
u | ユニバーサル形式 (例:2009-10-01 10:30:00Z) |
U | 世界協定時刻 (例:2009年10月1日1:30:00) |
Y または y | 年月の表示 (例:2009年10月) |
曜日表示フィールド(DateWeekdayDisplayField)は、曜日を表示するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
Pattern | 曜日を表す文字列を設定します(WeekdayPattern 列挙体)。
| ||||
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 |
年表示フィールド(DateYearDisplayField)は、西暦の年を表示するフィールドです。
プロパティ | 説明 | ||||
---|---|---|---|---|---|
PromptChar | 値が入力されていないときに表示するプロンプト文字を設定します。 | ||||
ShowLeadingZero | 値が1桁のとき先頭に0をつけるかどうか設定します。 | ||||
YearDigit | 西暦の表示桁数を設定します(YearDigitType 列挙体)。
|