Input for WinForms
編集マスク
C1Input コントロールの使い方 > 編集マスク

C1Input コントロールは、マスク入力をサポートしています。マスク入力を行うには、EditMask プロパティにマスク文字列を設定します。編集マスクを定義する場合、コントロール内の各文字位置は特殊プレースホルダまたはリテラル文字のいずれかにマップします。リテラル文字(リテラル)は、使用されているデータの型を視覚的に示します。たとえば、「(412)-123-4567」などの電話番号の局番を囲むかっことダッシュは、リテラルです。編集マスク機能により、無効な文字がコントロールに入力されないようにして、ユーザーインタフェースにさらに強化することができます。

マスク入力を有効にするには、EditMask プロパティに、プレースホルダとリテラルから成るマスク文字列を設定します。下の表に、使用できるプレースホルダを示します。また、CustomPlaceholders コレクションを使用して、独自のプレースホルダを定義できます。

単純な場合は EditMask を設定するだけで十分ですが、MaskInfo プロパティのサブプロパティを使用して、マスク入力のさまざまな重要な機能を制御することもできます。そのサブプロパティの1つが前述の CustomPlaceholders コレクションです。次の表に、その他のサブプロパティを示します。

プロパティ 説明
AutoTabWhenFilled True の場合は、マスクが入力されると、フォーカスが次のコントロールに自動的に移動します。デフォルト:False
PromptChar 空の位置に表示される文字です。デフォルト:'_'
SaveBlanks True の場合、格納されたテキストには、空白位置に StoredEmptyChar が入ります。デフォルト:False
SaveLiterals True の場合は(デフォルト)、格納されたテキスト(StoredContent)にリテラルが含まれます。
ShowLiterals ユーザーが入力している間のリテラルの表示方法を制御する列挙型です。リテラルを常に表示する、表示しない、または入力中にリテラルの位置に到達したときに表示するように設定できます。
SkipOptional True の場合は(デフォルト)、文字を入力できる最初の位置までオプションのマスク位置が自動的にスキップされます。
StoredEmptyChar 空のマスク位置に格納される文字です。デフォルト:'_'

マスクに関連するプロパティのリストについては、MaskInfo クラスを参照してください。

ShowLiterals プロパティが FreeFormatEntry に設定されている場合は、オプションのマスク位置を完全に省略できます。つまり、そこを空白文字で埋める必要はありません。

C1Input で使用されるマスク文字(プレースホルダ)は、Microsoft Access や Microsoft ActiveX MaskedEdit コントロールで使用されるものに似ています。また、CustomPlaceholders コレクションを使用して、他のプレースホルダを定義することもできます。

プレースホルダ 説明
# 桁のプレースホルダを指定すると、その位置に英数字またはプラス/マイナス記号を入力できます(入力はオプション)。
. 小数点プレースホルダ。実際に使用される文字は、国際化設定で小数点のプレースホルダとして指定された文字です。この文字は、リテラルとしてマスク処理されます。
, 千単位の桁区切りです。実際に使用される文字は、国際化設定で桁区切りとして指定された文字です。この文字は、リテラルとしてマスク処理されます。
: 時刻区切り文字。実際に使用される文字は、国際化設定で時刻区切りとして指定された文字です。この文字は、リテラルとしてマスク処理されます。
/ 日付区切り文字。実際に使用される文字は、国際化設定で日付区切りとして指定された文字です。この文字は、リテラルとしてマスク処理されます。
\ マスク文字列内の次の文字をリテラルとして処理します。これを使用して、#、&、A、… などの文字をマスクに入れることができます。この文字は、リテラルとしてマスク処理されます。
& 文字のプレースホルダです(入力は必須)。任意の文字を入力できます。
> 後続のすべての文字を大文字に変換します。
< 後続のすべての文字を小文字に変換します。
~ 前出の < または > を無効にします。
! 編集マスク内の後続のオプションの文字が左から右ではなく、右から左に表示されます。このため、空白は左に表示されます。
^ 前出の ! 文字を無効にします。^ の後では、空白は右に表示されます。
A 英数字のプレースホルダです(入力は必須)。たとえば、a ? z、A ? Z、0?9です。
a 英数字のプレースホルダです(入力はオプション)。
0 桁のプレースホルダです(入力は必須)。たとえば、0?9です。
9 桁のプレースホルダです(入力はオプション)。
C 文字またはスペースのプレースホルダです(入力はオプション)。任意の文字を入力できます。
L 英文字のプレースホルダです(入力は必須)。たとえば、a ? z、A ? Z です。
? 英文字のプレースホルダです(入力はオプション)。
\n 改行を示すリテラルです。Multiline プロパティが True に設定されている場合に適用できます。
" 二重引用符で囲まれた文字列内のすべての文字はリテラルと見なされます。
リテラル その他のすべての記号はリテラルとして、つまりそのまま表示されます。
H すべての半角文字のプレースホルダです(入力は必須)。
K 半角カタカナのプレースホルダです(入力は必須)。
9 (0xFF19) 全角数字のプレースホルダです(入力は必須)。
K (0xFF2B) 全角カタカナのプレースホルダです(入力は必須)。
J (0xFF2B) ひらがなのプレースホルダです(入力は必須)。
Z (0xFF3A) すべての全角文字のプレースホルダです(入力は必須)。
N 半角カタカナ(大文字のみ)のプレースホルダです(入力は必須)。
N (0xFF2E) 全角カタカナ(大文字のみ)のプレースホルダです(入力は必須)。
G (0xFF27) ひらがな(大文字のみ)のプレースホルダです(入力は必須)。
T (0xFF34) サロゲート文字のプレースホルダです(入力は必須)。

前述の電話番号 (412) 123-4567 を表示するには、マスク EditMask を (000) 000-0000 に設定します。

関連トピック