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

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

概要

入力時の書式を設定する入力フィールドには、次の6種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。

また、表示フィールドでは、次の9種類のフィールドが提供されています。

これらのフィールドオブジェクトをDateFieldCollection または、DateDisplayFieldCollection コレクションにに追加することで 日付の書式を作成します。

日付コントロールには時刻部分に関係したフィールドは追加できません。これらのフィールドは、フィールドコレクションエディタでは使用できないようになっています。また、コードから時刻部分に関係したフィールドを追加した場合には、例外が発生します。

フィールドの追加と削除

日付の書式は、入力および表示用の各フィールドコレクションに、前項で解説したフィールドオブジェクトを組み合わせて作成します。

コードによる設定

入力書式を設定するには、Add またはAddRange メソッドを使用して、DateFieldCollection コレクションに入力用フィールドオブジェクトを追加します。表示書式は、Add またはAddRange メソッドを使用して、表示用フィールドオブジェクトをDateDisplayFieldCollection コレクションに追加します。

次のサンプルコードは、日付コントロールに入力および表示書式を設定する例です。

Imports GrapeCity.Win.Editors
Imports GrapeCity.Win.Editors.Fields

' フィールドをクリアします。
GcDate1.Fields.Clear()
GcDate1.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()

' フィールドをコレクションに追加してコントロールに入力書式を設定します。
GcDate1.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("日")

' フィールドをコレクションに追加してコントロールに表示書式を設定します。
GcDate1.DisplayFields.AddRange(New DateDisplayField() { _
    dateYearDisplayDield1, dateLiteralDisplayField1, dateMonthDisplayField1, _
    dateLiteralDisplayField2, dateDayDisplayField1, dateLiteralDisplayField3})
using GrapeCity.Win.Editors;
using GrapeCity.Win.Editors.Fields;

// フィールドをクリアします。
gcDate1.Fields.Clear();
gcDate1.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();

// フィールドをコレクションに追加してコントロールに入力書式を設定します。
gcDate1.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("日");

// フィールドをコレクションに追加してコントロールに表示書式を設定します。
gcDate1.DisplayFields.AddRange(new DateDisplayField[] {
dateYearDisplayDield1, dateLiteralDisplayField1,  dateMonthDisplayField1, 
dateLiteralDisplayField2, dateDayDisplayField1, dateLiteralDisplayField3});

   
(図) 上記サンプルコードを適用したコントロール

フィールドオブジェクトをDateFieldCollection または DateDisplayFieldCollection コレクションから削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。

次のサンプルコードは、DateFieldCollection コレクションの先頭のフィールドを削除する例です。

' コレクションの先頭のオブジェクトを削除します。
GcDate1.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
gcDate1.Fields.RemoveAt(0);

デザイン画面での設定

デザイン画面ではフィールドオブジェクトを設定できる「入力フィールドの編集」「表示フィールドの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、日付コントロールで設定可能なフィールドを組み合わせて設定します。

入力書式 表示書式

このエディタでは、コレクションにフィールドを追加や編集すると同時に各フィールドのテキストのフォントや色といったスタイルを設定することができます。


(図)フィールド毎に異なったスタイルを設定

入力フィールドオブジェクト

ここでは、日付コントロールの入力フィールドに設定可能な6種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。

すべてのフィールドクラスに共通な設定

これらのプロパティは、日付コントロールのすべての入力フィールドオブジェクトに共通な設定項目です。

プロパティ 説明
BackColor フィールド背景色を設定します。
Font フィールドに表示される文字列のフォントを設定します。
ForeColor フィールド前景色を設定します。
Margin フィールド領域の外枠の距離を設定します。
コントロールの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。
Padding フィールド領域からテキストの表示エリアまでの距離を設定します。

リテラル文字フィールド (DateLiteralField)

リテラル文字フィールド(DateLiteralField クラス)は、コントロールに表示するリテラル文字を設定します。

プロパティ 説明
Text リテラル文字として表示する文字列を設定します。

年号入力フィールド (DateEraField)

年号入力フィールド (DateEraField クラス)は和暦表示時の年号を入力するフィールドです。

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

和暦入力フィールド (DateEraYearField)

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

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

年入力フィールド (DateYearField)

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

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

月入力フィールド (DateMonthField)

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

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

日入力フィールド (DateDayField)

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

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

ここでは、日付コントロールの表示フィールドに設定可能な9種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。

すべてのフィールドクラスに共通な設定

これらのプロパティは、日付コントロールのすべての表示フィールドオブジェクトに共通な設定項目です。

プロパティ 説明
BackColor フィールド背景色を設定します。
Font フィールドに表示される文字列のフォントを設定します。
ForeColor フィールド前景色を設定します。
Margin フィールド領域の外枠の距離を設定します。
コントロールの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。
Padding フィールド領域からテキストの表示エリアまでの距離を設定します。

リテラル文字表示フィールド (DateLiteralDisplayField)

リテラル文字表示フィールド (DateLiteralDisplayField クラス)は、コントロールに表示するリテラル文字を設定します。

プロパティ 説明
Text リテラル文字として表示する文字列を設定します。

年号表示フィールド (DateEraDisplayField)

年号表示フィールド (DateEraDisplayField クラス)は、和暦表示時の年号を表示するフィールドです。

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

和暦表示フィールド (DateEraYearDisplayField)

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

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

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

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

プロパティ 説明
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。

年表示フィールド (DateYearDisplayField)

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

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

月表示フィールド (DateMonthDisplayField)

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

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

日表示フィールド (DateDayDisplayField)

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

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

曜日表示フィールド (DateWeekdayDisplayField)

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

プロパティ 説明
Pattern 曜日を表す文字列を設定します。 (WeekdayPattern 型)
MonthPattern.MonthName のときは、曜日を正式名称で表示します。 (DateTimeFormatInfo.DayNames()で指定された形式)
MonthPattern.AbbreviatedMonthName のときは、曜日を省略形で表示します。 (DateTimeFormatInfo.AbbreviatedDayNames()で指定された形式)
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。

システム書式表示フィールド (DateSystemFormatDisplayField)

システム書式表示フィールド (DateSystemFormatDisplayField クラス)は、 システムで定義された書式指定子を使用して日付または時刻の書式を設定します。

プロパティ 説明
Pattern 書式を表す書式指定子を設定します。 (String型)
下表の書式指定子を設定することができます。
PromptChar 値が入力されていないときに表示するプロンプト文字を設定します。


◆ Pattern プロパティに設定可能な書式指定子
書式指定子 説明
d 短い形式の日付
(例:2100/04/01)
D 長い形式の日付
(例:2100年4月1日)
t 短い形式の時刻
(例:0:00)
T 長い形式の時刻
(例:0:00:00)
f 長い形式の日付と短い形式の時刻
(例:2100年4月1日 0:00)
F 長い形式の日付と長い形式の時刻
(例:2100年4月1日 0:00:00)
g 短い形式の日付と短い形式の時刻
(例:2100/04/01 0:00)
G 短い形式の日付と長い形式の時刻
(例:2100/04/01 0:00:00)
Mまたはm 月日の表示
(例:4月1日)
Oまたはo ラウンドトリップ形式
(例:2100-04-01T00:00:00.0000000)
Rまたはr RFC1123の形式
(例:Thu, 01 Apr 2100 00:00:00 GMT)
s ISO 8601準拠の形式
(例:2100-04-01T00:00:00)
u ユニバーサル形式
(例:2100-04-01 00:00:00Z)
U 世界協定時刻
(例:2100年3月31日 15:00:00)
Yまたはy 年月の表示
(例:2100年4月)

日付コントロールの時刻値は常に深夜の 12 時 (00:00:00)です。

関連トピック

 

 


© MESCIUS inc. All rights reserved.