Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

入力エラーを未然に防ぐ.NET アプリケーションを作る

InputMan for Windows Forms 5.0Jのマスクコントロール「GcMask」を使って、定型書式を入力時に設定したアプリケーションの作成

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/02/27 14:00
目次

フォームのデザイン

 フォームは2つ使います。Form1は、Label、GroupBox、Button、GcMaskコントロールで構成します。GcShortcutコントロールは、GcMaskコントロールを配置すると自動的に作成されます。

フォームForm1のデザイン(数値は配置個数)
フォームForm1のデザイン(数値は配置個数)

 Form2は、LabelとButtonだけで、すべて標準コントロールを使います。

フォームForm2のデザイン(数値は配置個数)
フォームForm2のデザイン(数値は配置個数)

 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 スピンによって列挙体を増減させる項目の数を設定します

 これらのフィールドをコントロールに設定することで、指定した形式のデータ以外は入力できないようにし、入力エラーを未然に防ぎます。

フィールドの設定例(ヘルプファイルより抜粋)
フィールドの設定例(ヘルプファイルより抜粋)

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 瀬戸 遥(セト ハルカ)

    8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

バックナンバー

連載:ComponentZine(InputMan)

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5