MESCIUS InputMan for WPF 3.0J > InputMan for WPF の使い方 > マスクコントロール > 書式を設定する > フィールドオブジェクトによる書式設定 |
このセクションでは、フィールドオブジェクトによる書式設定について説明します。
マスクコントロールでは、次の3種類のフィールドが用意されており、これらのフィールドオブジェクトを使って書式を設定することができます。
これらのフィールドオブジェクトを MaskFieldCollection に追加するには、Add メソッドまたは、AddRange メソッドを使用します。
以下のサンプルコードは、マスクコントロールに郵便番号書式を設定する例です。AddRange メソッドを使用して MaskFieldCollection にフィールドを追加しています。
Imports GrapeCity.Windows.InputMan.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.FieldSet.Fields.AddRange(New MaskField() {maskPatternField1, maskLiteralField1, maskPatternField2})
using GrapeCity.Windows.InputMan.Fields; // フィールドオブジェクトを作成します。 MaskPatternField maskPatternField1 = new MaskPatternField("\\D", 3, 3); MaskLiteralField maskLiteralField1 = new MaskLiteralField("-"); MaskPatternField maskPatternField2 = new MaskPatternField("\\D", 4, 4); // フィールドをコレクションに追加してコントロールに書式を設定します。 GcMask1.FieldSet.Fields.AddRange(new MaskField[] {maskPatternField1, maskLiteralField1, maskPatternField2});
<im:GcMask> <im:GcMask.FieldSet> <im:MaskFieldSet> <im:MaskPatternField MaxLength="3" MinLength="3" Pattern="\D" /> <im:MaskLiteralField Text="-" /> <im:MaskPatternField MaxLength="4" MinLength="4" Pattern="\D" /> </im:MaskFieldSet> </im:GcMask.FieldSet> </im:GcMask>
フィールドオブジェクトを MaskFieldCollection から削除するには、Remove メソッドまたは、RemoveAt メソッドを使用します。
以下のサンプルコードは、MaskFieldCollection の先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。
GcMask1.FieldSet.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GcMask1.FieldSet.Fields.RemoveAt(0);
ここでは、マスクコントロールに設定可能な3種類のフィールドについて解説します。
パターンフィールド(MaskPatternField)
パターンフィールド(MaskPatternField)は、マスクコントロールの最も特徴的な機能である入力マスクを設定するフィールドです。パターンフィールドで最も重要なプロパティは Pattern プロパティで、入力マスクを定義するためのキーワードを設定することができます。
プロパティ | 説明 |
---|---|
AutoConvert | Pattern プロパティで設定された文字種に自動で変換するかどうかを設定します。 |
MaxLength | Pattern プロパティで設定されたキーワードを繰り返す最大文字数を設定します。 |
MinLength | Pattern プロパティで設定されたキーワードを繰り返す最小文字数を設定します。 |
Pattern | 入力マスクを定義する正規表現のキーワード(メタ文字)を設定します。 |
PromptChar | プロンプト文字を設定します。 |
Pattern プロパティで使用可能な表現のタイプは以下の通りです。
表現のタイプ | 説明 |
---|---|
8進数(ASCII) | ASCII 文字を表現するときだけ使用します。「\040」のように、頭に0をつけて必ず3桁の数値で表現します。 |
16 進数(ASCII) | ASCII 文字を表現するときだけ使用します。「\x20」のように、\x に続いて必ず2桁の数値(頭に0を付ける)で表現します。 |
16 進数(Unicode) | すべての文字を表現できます。「\u0020」のように、\u に続いて必ず4桁の数値(頭に0を付ける)で表現します。 |
キーワード | 下表で説明するキーワード(メタ文字)です。 |
文字 | キーワード以外の文字です。 |
Pattern プロパティで使用可能なキーワードは以下の通りです。
半角 | 全角 | 説明 |
---|---|---|
\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 | サロゲート ペア文字を表します。 |
半角文字と全角文字は、その文字の Shift-JIS コードを使って識別されます。 |
メタ文字 | 説明 |
---|---|
^ | その後に続く文字グループの補集合をあらわします。 |
- | 文字の範囲を指定します。 |
\(Chr(92)) | キーワードをリテラル文字として表示 |
以下に、パターンフィールドでの書式設定の例を示します。
Pattern | MaxLength | MinLength | 表示例 | 説明 |
---|---|---|---|---|
\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 プロパティのみです。
プロパティ | 説明 |
---|---|
Text | 表示するリテラル文字を設定します。 |
列挙型フィールド(MaskEnumerationField)
列挙型フィールド(MaskEnumerationField)は、設定された列挙値の項目から選択して文字列をコントロールに表示することができます。このフィールドには、列挙値で設定された文字列以外の文字は入力できません。
列挙値に設定された文字列を選択するには、コントロールのスピン機能によって順次表示させるか、列挙型フィールドにドロップダウンリストを表示してリストから選択することができます。
ドロップダウンリストはフィールド単位で表示されるため、1つのコントロールに複数の列挙型フィールドを設定すれば、複数のドロップダウンリストを持ったコントロールを作成することもできます。
プロパティ | 説明 |
---|---|
AllowDropDownOpen | フィールドのドロップダウン機能を有効にするかどうかを設定します。 |
AutoConvert | 列挙値に含まれない値が入力されたときに、値を項目に自動で変換するかどうかを設定します。 |
AutoOpenDropDown | フィールドにキャレットが移動されたときに、自動でドロップダウンリストを表示するかどうかを設定します。 |
Items | 列挙値を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncrement | スピンによって列挙値を増減させる項目の数を設定します。 |