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

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

概要

マスクコントロールでは、次の3種類のフィールドオブジェクトが用意されており、これらのオブジェクトを使って書式を設定することができます。

これらのフィールドオブジェクトをMaskFieldCollection クラスに追加することで、マスク書式を作成します。

フィールドの追加と削除

マスク書式は前項で解説した3つのフィールドオブジェクトを組み合わせて作成します。たとえば、郵便番号書式を作成するには、以下のフィールドオブジェクトをコレクションに追加します。

コードによる設定

オブジェクトをコレクションに追加するには、Add メソッドまたは、AddRange メソッドを使用します。

次のサンプルコードは、上記のフィールドオブジェクトをAddRange メソッドを使用してMaskFieldCollection クラスにフィールドを追加して郵便番号書式を作成しています。

Imports GrapeCity.Win.Editors.Fields

' フィールドオブジェクトを作成します。
Dim maskPatternField1 As MaskPatternField = New MaskPatternField("\D", 3, 3)
Dim maskLiteralField1 As MaskLiteralField = New MaskLiteralField("-")
Dim maskPatternField2 As MaskPatternField = New MaskPatternField("\D", 4, 4)

' フィールドをコレクションに追加してコントロールに書式を設定します。
GcMask1.Fields.AddRange(New MaskField() {maskPatternField1, maskLiteralField1, maskPatternField2})
using GrapeCity.Win.Editors.Fields;

// フィールドオブジェクトを作成します。
MaskPatternField maskPatternField1 = new MaskPatternField("\\D", 3, 3);
MaskLiteralField maskLiteralField1 = new MaskLiteralField("-");
MaskPatternField maskPatternField2 = new MaskPatternField("\\D", 4, 4);

// フィールドをコレクションに追加してコントロールに書式を設定します。
gcMask1.Fields.AddRange(new MaskField[] {maskPatternField1, maskLiteralField1, maskPatternField2});

フィールドオブジェクトをMaskFieldCollection クラスから削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。

次のサンプルコードは、MaskFieldCollection クラスの先頭のフィールドを削除する例です。

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

デザイン画面での設定

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

「入力フィールドの編集」エディタ

「入力フィールドの編集」エディタ

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


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

各フィールドの機能

ここでは、マスクコントロールに設定可能な3種類のフィールドについて、すべてのフィールドに共通な設定項目と各フィールドに特化した設定項目に分けて解説します。

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

これらのプロパティは、マスクコントロールで利用可能なすべてのフィールドオブジェクトに共通な設定項目です。

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

パターンフィールド (MaskPatternField)

パターンフィールド(MaskPatternField クラス)は、マスクコントロールの最も特徴的な機能である入力マスクを設定するフィールドです。
パターンフィールドで最も重要なプロパティはPattern プロパティで、入力マスクを定義するためのキーワードを設定することができます。

プロパティ 説明
AutoConvert Patternプロパティで設定された文字種に自動で変換するかどうか設定します。
MaxLength Patternプロパティで設定されたキーワードを繰り返す最大文字数を設定します。
MinLength Patternプロパティで設定されたキーワードを繰り返す最小文字数を設定します。
PasswordChar フィールドをパスワード文字として表示するときの文字を設定します。
Pattern 入力マスクを定義する正規表現のキーワード(メタ文字)を設定します。
PromptChar プロンプト文字を設定します。
UseSystemPasswordChar パスワード文字をシステムで定義された文字で表示するかどうか設定します。

◆ Pattern プロパティで使用可能な表現のタイプ

表現のタイプ 説明
8進数(ASCII) ASCII文字を表現するときだけ使用します。「\040」のように、頭に0をつけて必ず3桁の数値で表現します。
16進数(ASCII) ASCII文字を表現するときだけ使用します。「\x20」のように、\xに続いて必ず2桁の数値(頭に0を付ける)で表現します。
16進数(Unicode) すべての文字を表現できます。「\u0020」のように、\uに続いて必ず4桁の数値(頭に0を付ける)で表現します。
キーワード 下表で説明するキーワード(メタ文字)です。
文字 キーワード以外の文字です。

◆ Pattern プロパティで使用可能なキーワード

1. 主要なキーワード
半角 全角 説明
\A \A 大文字のアルファベットを表します。[A-Z]または[A-Z]と同等です。
\a \a 小文字のアルファベットを表します。[a-z]または[a-z]と同等です。
\D \D 数字を表します。[0-9]または[0-9]と同等です。
\B \B 2進数を表します。[0-1]または[0-1]と同等です。
\X \X 16進数を表します。[0-9A-Fa-f]または[0-9A-Fa-f]と同等です。
\W \W すべての英数字を表します。[a-zA-Z_0-9]または[a-zA-Z_0-9]と同等です。
\K \K カタカナ(促音・拗音の小書き表記あり)を表します。
\N \N カタカナ(促音・拗音の小書き表記なし)を表します。
\H - すべての半角文字を表します。
- \J ひらがな(促音・拗音の小書き表記あり)を表します。
- \G ひらがな(促音・拗音の小書き表記なし)を表します。
- \Z すべての全角文字を表します。
- \T サロゲート ペア文字を表します。
- \I JIS X 0208文字を表します。
- \M Shift JIS文字を表します。
- \V IVS(Ideographic Variation Sequence)文字を表します。

半角文字と全角文字は、その文字のShift-JISコードを使って識別されます。


2. 補助的なキーワード
メタ文字 説明
^ その後に続く文字グループの補集合をあらわします。
- 文字の範囲を指定します。
\(Chr(92)) キーワードをリテラル文字として表示します。

以下にパターンフィールドでの書式設定の例をあげます。

Patternプロパティ MinLengthプロパティ MaxLengthプロパティ 表示例 説明
\Z 0 50 あア漢1Aa 0文字以上、50文字以下のすべての全角を表します。
\D 3 5 1234 3文字以上、5文字以下のすべての半角数字を表します。
1-3,a-c,A-C 10 10 1234 10文字の1,2,3,a,b,c,A,B,Cを表します。
A-Z 0 65535 ABCDE 半角大文字アルファベットを表します。\Aと同等です。
H^a-z 0 65535 12ABアイウ 小文字のアルファベットを除くすべての半角文字を表します。
^\T 0 65535 あア漢1Aa サロゲート ぺア文字を除くすべての文字を表します。

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

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

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

列挙型フィールド (MaskEnumerationField)

列挙型フィールド(MaskEnumerationField クラス)は、設定された列挙体の項目から選択して文字列をコントロールに表示することができます。このフィールドには、列挙体で設定された文字列以外の文字は入力できません。
列挙体に設定された文字列を選択するには、コントロールのスピン機能によって順次表示させるか、列挙型フィールドにドロップダウンリストを表示してリストから選択することができます。
ドロップダウンリストはフィールド単位で表示されるため、1つのコントロールに複数の列挙体フィールドを設定すれば、複数のドロップダウンリストを持ったコントロールを作成することもできます。

プロパティ 説明
AutoConvert Patternプロパティで設定された文字種に自動で変換するかどうか設定します。
AutoDropDown フィールドにキャレットが移動されたときに、自動でドロップダウンリストを表示するかどうか設定します。
DropDownEnabled フィールドのドロップダウン機能を有効にするかどうか設定します。
Items 文字列の列挙体を設定します。
PromptChar プロンプト文字を設定します。
SpinIncremnet スピンによって列挙体を増減させる項目の数を設定します。
関連トピック

 

 


© MESCIUS inc. All rights reserved.