MESCIUS InputMan for WPF 3.0J
フィールドオブジェクトによる書式設定

このセクションでは、フィールドオブジェクトによる書式設定について説明します。

概要

入力時の書式を設定する入力フィールドには、次の 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)

午前/午後入力フィールド(DateAmPmField)は、時刻の午前/午後を入力するフィールドです。

プロパティ 説明
AMDesignator 午前を表す文字列を設定します。
Pattern 午前/午後を表す文字の表示方法を設定します(AmPmPattern 列挙体)。
AmPmPattern.AmPmDesignator AMDesignator プロパティまたは PMDesignator プロパティで表される文字列を表示します。
AmPmPattern.AbbreviatedAmPmDesignator AMDesignator プロパティまたは PMDesignator プロパティで表わされる文字列の最初の1文字を表示します。
PMDesignator 午後を表す文字列を設定します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
日入力フィールド(DateDayField)

日入力フィールド(DateDayField)は、日を入力するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
年号入力フィールド(DateEraField)

年号入力フィールド(DateEraField)は、年号を入力するフィールドです。

プロパティ 説明
AllowDropDownOpen フィールドに設定可能な値をドロップダウンリストで表示できるようにするかどうか設定します。
AutoOpenDropDown フィールドがキャレットが移動されたときに自動的にドロップダウンリストを表示するかどうか指定します。
Pattern 年号を表す文字列を設定します(EraPattern 列挙体)。
EraPattern.EraName 年号を正式名称で表示します。
EraPattern.AbbreviatedEraName 年号の頭文字を表示します。
EraPattern.Symbol 年号を記号で表示します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
和暦入力フィールド(DateEraYearField)

和暦入力フィールド(DateEraYearField)は、和暦の年号を入力するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
時間入力フィールド(DateHourField)

時間入力フィールド(DateHourField)は、時刻の時間を入力するフィールドです。

プロパティ 説明
MidnightAs24 真夜中の表示方法を取得または設定します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
リテラル文字フィールド(DateLiteralField)

リテラル文字フィールド(DateLiteralField)は、リテラル文字を設定します。

プロパティ 説明
Text リテラル文字として表示する文字列を設定します。
分入力フィールド(DateMinuteField)

分入力フィールド(DateMinuteField)は、時刻の分を入力するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
月入力フィールド(DateMonthField)

月入力フィールド(DateMonthField)は、月を入力するフィールドです。

プロパティ 説明
AllowDropDownOpen フィールドに設定可能な値をドロップダウンリストで表示できるようにするかどうか設定します。
AutoOpenDropDown フィールドがキャレットが移動されたときに自動的にドロップダウンリストを表示するかどうか指定します。
Pattern 月を表す文字列を設定します(MonthPattern 列挙体)。
MonthPattern.MonthName 月を正式名称で表示します(DateTimeFormatInfo.MonthNames プロパティで指定された形式)。
MonthPattern.AbbreviatedMonthName 月を月を省略形で表示します(DateTimeFormatInfo.AbbreviatedMonthNames プロパティで指定された形式)。
MonthPattern.Number 月を2桁の数字で表示(先頭に0を付ける)します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
秒入力フィールド(DateSecondField)

秒入力フィールド(DateSecondField)は、時刻の秒を入力するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
12 時間制時刻入力フィールド(DateShortHourField)

12 時間制時刻入力フィールド(DateShortHourField)は、12 時間制の時刻を入力するフィールドです。

プロパティ 説明
Hour12Mode 12時間の範囲を定義する値を取得または設定します(Hour12Mode 列挙体)。
Hour12Mode.Hour12As0 表示範囲を 「00:00:00 〜 11:59:59」 にします。
Hour12Mode.Hour0As12 表示範囲を 「01:00:00 〜 12:59:59」 にします。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
年入力フィールド(DateYearField)

年入力フィールド(DateYearField)は、西暦の年を入力するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
SpinIncrement スピン機能により日付を増減する値を設定します。
TwoDigitYearMax 西暦2桁入力時の有効期間(100 年間)の最後の年を取得または設定します。
YearDigit 西暦の表示桁数を設定します(YearDigitType 列挙体)。
YearDigitType.FourDigitYear 年を4桁で表示します。
YearDigitType.TwoDigitYear 年を2桁で表示します。
表示フィールドオブジェクト

ここでは、日付コントロールの表示フィールドに設定可能な 14 種類のフィールドについて解説します。

西暦表示フィールド(DateADDisplayField)

西暦表示フィールド(DateADDisplayField)は、紀元後を表す A.D. を表示するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
午前/午後表示フィールド(DateAmPmDisplayField)

午前/午後表示フィールド(DateAmPmDisplayField)は、時刻の午前/午後を表示するフィールドです。

プロパティ 説明
AMDesignator 午前を表す文字列を設定します。
Pattern 午前/午後を表す文字の表示方法を設定します(AmPmPattern 列挙体)。
AmPmPattern.AmPmDesignator AMDesignator プロパティまたは PMDesignator プロパティで表される文字列を表示します。
AmPmPattern.AbbreviatedAmPmDesignator AMDesignator プロパティまたは PMDesignator プロパティで表わされる文字列の最初の1文字を表示します。
PMDesignator 午後を表す文字列を設定します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
日表示フィールド(DateDayDisplayField)

日表示フィールド(DateDayDisplayField)は、日を表示するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
年号表示フィールド(DateEraDisplayField)

年号表示フィールド(DateEraDisplayField)は、年号を表示するフィールドです。

プロパティ 説明
Pattern 年号を表す文字列を設定します(EraPattern 列挙体)。
EraPattern.EraName 年号を正式名称で表示します。
EraPattern.AbbreviatedEraName 年号の頭文字を表示します。
EraPattern.Symbol 年号を記号で表示します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
和暦表示フィールド(DateEraYearDisplayField)

和暦表示フィールド(DateEraYearDisplayField)は、和暦の年数を表示するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
ShowTraditionalFirstYear 開始年を元と表示するかどうか設定します。
時間表示フィールド(DateHourDisplayField)

時間表示フィールド(DateHourDisplayField)は、時刻の時間を表示するフィールドです。

プロパティ 説明
MidnightAs24 真夜中の表示方法を取得または設定します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
リテラル文字表示フィールド(DateLiteralDisplayField)

リテラル文字表示フィールド(DateLiteralDisplayField)は、リテラル文字を設定します。

プロパティ 説明
Text リテラル文字として表示する文字列を設定します。
分表示フィールド(DateMinuteDisplayField)

分表示フィールド(DateMinuteDisplayField)は、時刻の分を表示するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
月表示フィールド(DateMonthDisplayField)

月表示フィールド(DateMonthDisplayField)は、月を表示するフィールドです。

プロパティ 説明
Pattern 月を表す文字列を設定します(MonthPattern 列挙型)。
MonthPattern.MonthName 月を正式名称で表示します(DateTimeFormatInfo.MonthNames プロパティで指定された形式)。
MonthPattern.AbbreviatedMonthName 月を月を省略形で表示します(DateTimeFormatInfo.AbbreviatedMonthNames プロパティで指定された形式)。
MonthPattern.Number 月を2桁の数字で表示(先頭に0を付ける)します。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
秒表示フィールド(DateSecondDisplayField)

秒表示フィールド(DateSecondDisplayField)は、時刻の秒を表示するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
12 時間制時刻表示フィールド(DateShortHourDisplayField)

12 時間制時刻表示フィールド(DateShortHourDisplayField)は、12 時間制の時刻を表示するフィールドです。

プロパティ 説明
Hour12Mode 12 時間の範囲を定義する値を取得または設定します(Hour12Mode 列挙体)。
Hour12Mode.Hour12As0 表示範囲を 「00:00:00 〜 11:59:59」 にします。
Hour12Mode.Hour0As12 表示範囲を 「01:00:00 〜 12:59:59」 にします。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
システム書式表示フィールド(DateSystemFormatDisplayField)

システム書式表示フィールド(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)

曜日表示フィールド(DateWeekdayDisplayField)は、曜日を表示するフィールドです。

プロパティ 説明
Pattern 曜日を表す文字列を設定します(WeekdayPattern 列挙体)。
WeekdayPattern.WeekdayName 曜日を正式名称で表示します(DateTimeFormatInfo.DayNames で指定された形式)。
WeekdayPattern.AbbreviatedWeekdayName 曜日を省略形で表示します(DateTimeFormatInfo.AbbreviatedDayNames で指定された形式)。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
年表示フィールド(DateYearDisplayField)

年表示フィールド(DateYearDisplayField)は、西暦の年を表示するフィールドです。

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。
ShowLeadingZero 値が1桁のとき先頭に0をつけるかどうか設定します。
YearDigit 西暦の表示桁数を設定します(YearDigitType 列挙体)。
YearDigitType.FourDigitYear 年を4桁で表示します。
YearDigitType.TwoDigitYear 年を2桁で表示します。
関連トピック

 

 


© MESCIUS inc. All rights reserved.