フォームのデザイン
フォームは2つ使います。Form1は、Label、GroupBox、Button、GcMaskコントロールで構成します。GcShortcutコントロールは、GcMaskコントロールを配置すると自動的に作成されます。
Form2は、LabelとButtonだけで、すべて標準コントロールを使います。
GcMaskコントロールは、全部で5つ使います。それぞれの設定は後述しますが、5つのマスクコントロールは、すべて次のプロパティを設定します。
プロパティ | 設定値 |
---|---|
ExitOnLastChar | True |
PromptChar | * |
ExitOnLastCharプロパティは、コントロールへの入力が終了したときに、自動的に次のコントロールにフォーカスを移動するプロパティです。設定値は論理値で、Trueで設定されます。
PromptCharプロパティは、コントロールに何も入力されていないときに表示するプロンプト文字を設定します。設定値は単一の文字です(文字列は設定できません)。
GcMaskコントロールについて
マスクコントロール(GcMaskコントロール)は、電話番号や郵便番号などの定型書式を正規表現を使って設定できるコントロールです。コントロール内のフィールドごとに異なったスタイルを設定でき、フィールドのマスキング機能や、列挙型のデータをドロップダウンリストやスピンボタンを使って表示できるなど、標準のMaskedTextBoxコントロールにはない豊富な機能を提供します。
マスクコントロールの入力領域はフィールドと呼ばれており、フィールドによって書式の設定やスタイルを定義することが可能です。次の3種類のフィールドが用意されており、これらのフィールドオブジェクトを使って書式を設定をします。
1 MaskPatternField(パターンフィールド)
入力マスクを設定するフィールドです。次のプロパティを使うことができます。最も重要なプロパティはPatternプロパティで、入力マスクを定義するためのキーワードを設定します。
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します |
MaxLength | Patternプロパティで設定されたキーワードを繰り返す最大文字数を設定します |
MinLength | Patternプロパティで設定されたキーワードを繰り返す最小文字数を設定します |
PasswordChar | フィールドをパスワード文字として表示するときの文字を設定します |
Pattern | 入力マスクを定義する正規表現のキーワード(メタ文字)を設定します |
PromptChar | プロンプト文字を設定します |
UseSystemPasswordChar | パスワード文字をシステムで定義された文字で表示するかどうか設定します |
2 MaskLiteralField(リテラルフィールド)
コントロールに表示するリテラル文字を設定します。リテラル文字とは、入力文字とは別に使用される固定された文字のことで、例えば郵便番号の「-」や電話番号の「()」など、入力する際に表示しておくと便利な記号などを表示する文字です。
リテラルフィールド固有のプロパティは次のTextプロパティのみです。
プロパティ | 説明 |
---|---|
Text | 表示するリテラル文字を設定します |
3 MaskEnumerationField(列挙型フィールド)
列挙体を設定し、その項目から選択して文字列をコントロールに表示します。このフィールドには、列挙体で設定された文字列以外の文字は入力できません。
列挙体に設定された文字列を選択するには、コントロールのスピン機能やドロップダウンリストを使って、列挙体のデータを表示して選択します。
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します |
AutoDropDown | フィールドにキャレットが移動されたときに、自動でドロップダウンリストを表示するかどうか設定します |
DropDownEnabled | フィールドのドロップダウン機能を有効にするかどうか設定します |
Items | 文字列の列挙体を設定します |
PromptChar | プロンプト文字を設定します |
SpinIncremnet | スピンによって列挙体を増減させる項目の数を設定します |
これらのフィールドをコントロールに設定することで、指定した形式のデータ以外は入力できないようにし、入力エラーを未然に防ぎます。