PowerTools InputMan for Windows Forms 8.0J > InputManの使い方 > マスクコントロール > 書式の設定 > キーワードによる書式設定 |
ここでは、キーワードによる書式設定について説明します。
マスクコントロールでは、正規表現のキーワード(メタ文字)を設定することで書式を設定することができます。 フィールドオブジェクトによる書式設定のように柔軟なスタイル設定が不要な場合、1度のメソッド実行だけで書式を定義できるため、簡単な実装が可能です。
キーワードによる書式設定は、4.0J以前のマスクコントロールで利用されていた方法と同様の方法です。 |
キーワードを使用して書式を設定するには、AddRange メソッドのオーバーロードの1つを使用します。 たとえば、郵便番号書式を設定するには、郵便番号を示す正規表現文字列は「\\D{3}-\\D{4}」(Visual Basicでは「\D{3}-\D{4}」)なので、AddRange メソッドのパラメータにこの文字列を設定します。
' キーワードから郵便番号書式を設定します。 GcMask1.Fields.AddRange("\D{3}-\D{4}")
// キーワードから郵便番号書式を設定します。 gcMask1.Fields.AddRange("\\D{3}-\\D{4}");
なお、AddRange メソッドにより書式を設定する場合でも、自動的にフィールドオブジェクトに変換されているため、設定後に特定のフィールドスタイルを変更することは可能です。
次のサンプルコードは、キーワードにより設定した郵便番号書式の各フィールドのスタイルを設定する例です。
' 郵便番号書式を設定します。 GcMask1.Fields.AddRange("\D{3}-\D{4}") ' 各フィールドのスタイルを設定します。 GcMask1.Fields(0).Font = New Font("メイリオ", 12) GcMask1.Fields(1).ForeColor = Color.Gray GcMask1.Fields(2).Font = New Font("メイリオ", 9)
// 郵便番号書式を設定します。 gcMask1.Fields.AddRange("\\D{3}-\\D{4}"); // 各フィールドのスタイルを設定します。 gcMask1.Fields[0].Font = new Font("メイリオ", 12); gcMask1.Fields[1].ForeColor = Color.Gray; gcMask1.Fields[2].Font = new Font("メイリオ", 9);
デザイン画面では「書式の設定」エディタを使用して容易な設定が可能です。このエディタは次のいずれかの方法で起動でき、 正規表現のキーワード(メタ文字)を設定することで書式を設定します。
個々のフィールドのプロパティは設定できませんが、郵便番号のような一般的な定型書式が予めビルトイン書式として用意されているため、これらのリストから書式を選択するだけで簡単に書式を定義することが可能です。
「書式の設定」エディタ |
なお、キーワードを使って設定した書式は、フィールドオブジェクトのコレクションに変換されます。フィールドオブジェクトに変換された後は「入力フィールドの編集」エディタで編集できるようになります。
Addrange メソッドで使用可能なキーワードは以下のとおりです
半角 | 全角 | 説明 |
---|---|---|
\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コードを使って識別されます。 |
メタ文字 | 説明 |
---|---|
[] | []内の文字のどれか1つにマッチすることを表します。 |
() | ()内の文字列のどれか1つにマッチすることを表します。 |
| | ()内で使用し、文字列間の区切り文字として機能します。 |
{n} | 直前のキーワードのn回の繰り返しを表します。 |
{n,} | 直前のキーワードのn回以上の繰り返しを表します。 |
{n,m} | 直前のキーワードのn回以上でm回以下の繰り返しを表します。 |
* | 直前のキーワードの0回以上の繰り返しを表します。{0,}と同等です。 |
+ | 直前のキーワードの1回以上の繰り返しを表します。{1,}と同等です。 |
? | 直前のキーワードの0回または1回の繰り返しを表します。{0,1}と同等です。 |
\(Chr(92)) | キーワードをリテラル文字として表示 |
以下にキーワードでの書式設定の例をあげます。
キーワード | 表示例 | 説明 |
---|---|---|
\Z{0, 50} | あア漢1Aa | 0文字以上、50文字以下のすべての全角を表します。 |
\D{3, 5} | 1234 | 3文字以上、5文字以下のすべての半角数字を表します。 |
[1-3,a-c,A-C]{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 | サロゲート ぺア文字を除くすべての文字を表します。 |