PowerTools InputMan for Windows Forms 8.0J > InputManの使い方 > タイムスパンコントロール > 書式の設定 > フィールドオブジェクトによる書式設定 |
ここでは、フィールドオブジェクトによる書式設定について説明します。
入力時の書式を設定する入力フィールドには、次の7種類のフィールドが提供されており、これらのフィールドオブジェクトを使って書式を設定することができます。
また、表示フィールドでは、次の7種類のフィールドが提供されています。
これらのフィールドオブジェクトをTimeSpanFieldCollection または、TimeSpanDisplayFieldCollection コレクションに追加することでタイムスパンの書式を作成します。
タイムスパンの書式は、入力および表示用の各フィールドコレクションに、前項で解説したフィールドオブジェクトを組み合わせて作成します。
入力書式を設定するには、Add またはAddRange メソッドを使用して、TimeSpanFieldCollection コレクションに入力用フィールドオブジェクトを追加します。表示書式は、Add またはAddRange メソッドを使用して、表示用フィールドオブジェクトをTimeSpanDisplayFieldCollection コレクションに追加します。
次のサンプルコードは、タイムスパンコントロールに入力および表示書式を設定する例です。
Imports GrapeCity.Win.Editors.Fields ' フィールドをクリアします。 GcTimeSpan1.Fields.Clear() GcTimeSpan1.DisplayFields.Clear() ' 入力フィールドのオブジェクトを作成します。 Dim TimeSpanHourField1 As New TimeSpanHourField(2) Dim TimeSpanLiteralField1 As New TimeSpanLiteralField(":") Dim TimeSpanMinuteField1 As New TimeSpanMinuteField(2) ' フィールドをコレクションに追加してコントロールに入力書式を設定します。 GcTimeSpan1.Fields.AddRange(New TimeSpanField() { _ TimeSpanHourField1, TimeSpanLiteralField1, TimeSpanMinuteField1}) ' 表示フィールドのオブジェクトを作成します。 Dim TimeSpanHourDisplayField1 As New TimeSpanHourDisplayField() Dim TimeSpanLiteralDisplayField1 As New TimeSpanLiteralDisplayField("時間") Dim TimeSpanMinuteDisplayField1 As New TimeSpanMinuteDisplayField() Dim TimeSpanLiteralDisplayField2 As New TimeSpanLiteralDisplayField("分") ' フィールドをコレクションに追加してコントロールに表示書式を設定します。 GcTimeSpan1.DisplayFields.AddRange(New TimeSpanDisplayField() { _ TimeSpanHourDisplayField1, TimeSpanLiteralDisplayField1, _ TimeSpanMinuteDisplayField1, TimeSpanLiteralDisplayField2})
using GrapeCity.Win.Editors.Fields; // フィールドをクリアします。 gcTimeSpan1.Fields.Clear(); gcTimeSpan1.DisplayFields.Clear(); // 入力フィールドのオブジェクトを作成します。 TimeSpanHourField timeSpanHourField1 = new TimeSpanHourField(2); TimeSpanLiteralField timeSpanLiteralField1 = new TimeSpanLiteralField(":"); TimeSpanMinuteField timeSpanMinuteField1 = new TimeSpanMinuteField(2); // フィールドをコレクションに追加してコントロールに入力書式を設定します。 gcTimeSpan1.Fields.AddRange(new TimeSpanField[] { timeSpanHourField1, timeSpanLiteralField1, timeSpanMinuteField1}); // 表示フィールドのオブジェクトを作成します。 TimeSpanHourDisplayField timeSpanHourDisplayField1 = new TimeSpanHourDisplayField(); TimeSpanLiteralDisplayField timeSpanLiteralDisplayField1 = new TimeSpanLiteralDisplayField("時間"); TimeSpanMinuteDisplayField timeSpanMinuteDisplayField1 = new TimeSpanMinuteDisplayField(); TimeSpanLiteralDisplayField timeSpanLiteralDisplayField2 = new TimeSpanLiteralDisplayField("分"); // フィールドをコレクションに追加してコントロールに表示書式を設定します。 gcTimeSpan1.DisplayFields.AddRange(new TimeSpanDisplayField[] { timeSpanHourDisplayField1, timeSpanLiteralDisplayField1, timeSpanMinuteDisplayField1, timeSpanLiteralDisplayField2});
(図) 上記サンプルコードを適用したコントロール
フィールドオブジェクトをTimeSpanFieldCollection または TimeSpanDisplayFieldCollection コレクションから削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。
次のサンプルコードは、TimeSpanFieldCollection コレクションの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。
GcTimeSpan1.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
gcTimeSpan1.Fields.RemoveAt(0);
デザイン画面ではフィールドオブジェクトを設定できる「入力フィールドの編集」「表示フィールドの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、タイムスパンコントロールで設定可能なフィールドを組み合わせて設定します。
入力書式
「入力フィールドの編集」エディタ |
このエディタでは、コレクションにフィールドを追加や編集すると同時に各フィールドのテキストのフォントや色といったスタイルを設定することができます。
(図)フィールド毎に異なったスタイルを設定
ここでは、タイムスパンコントロールの入力フィールドに設定可能な7種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、タイムスパンコントロールのすべての入力フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド前景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 コントロールの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字フィールド(TimeSpanLiteralField クラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字として表示する文字列を設定します。 |
符号入力フィールド(TimeSpanSignField クラス)は、符号を入力するフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 負数値の符号を設定します。 |
PositivePattern | 正数値の符号を設定します。 |
日入力フィールド(TimeSpanDayField クラス)は、日数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
時間入力フィールド(TimeSpanHourField クラス)は、時間を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
分入力フィールド(TimeSpanMinuteField クラス)は、分数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
秒入力フィールド(TimeSpanSecondField クラス)は、秒数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
小数入力フィールド(TimeSpanDecimalField クラス)は、小数を入力するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピン機能による値の変化量を設定します。 |
ここでは、タイムスパンコントロールの表示フィールドに設定可能な7種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目にわけて解説します。
これらのプロパティは、タイムスパンコントロールのすべての表示フィールドオブジェクトに共通な設定項目です。
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド前景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 コントロールの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
リテラル文字表示フィールド(TimeSpanLiteralDisplayField クラス)は、コントロールに表示するリテラル文字を設定します。
プロパティ | 説明 |
---|---|
Text | リテラル文字として表示する文字列を設定します。 |
符号表示フィールド(TimeSpanSignDisplayField クラス)は、符号を表示するフィールドです。
プロパティ | 説明 |
---|---|
NegativePattern | 負数値の符号を設定します。 |
PositivePattern | 正数値の符号を設定します。 |
日表示フィールド(TimeSpanDayDisplayField クラス)は、日数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
時間表示フィールド(TimeSpanHourDisplayField クラス)は、時間を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
分表示フィールド(TimeSpanMinuteDisplayField クラス)は、分数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
秒表示フィールド(TimeSpanSecondDisplayField クラス)は、秒数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |
小数表示フィールド(TimeSpanDecimalDisplaylField クラス)は、小数を表示するフィールドです。
プロパティ | 説明 |
---|---|
Digits | フィールドの桁数を設定します。 |
PromptChar | プロンプト文字を設定します。 |