日時や郵便番号,電話番号など,形式が決まっている文字列の入力を受け付けるには,MaskedTextBoxを使う。あらかじめ形式を設定しておくと,その形式にそぐわない入力を拒否できる。入力文字を検証するための処理を,後から独自に作成する作業を削減できる。

 また,パスワードなどの入力を受け付ける場合,入力中の画面を第三者に覗かれてパスワードを盗まれることを防ぐために,画面に入力された文字を表示せず,代替文字を表示するような設定もできる。

 MaskedTextBoxでは,文字を区切ることを目的として,“-(ハイフン)”や“,(カンマ)”などのリテラル文字を表示できる。ユーザーが入力しなくても,自動的に挿入されたテキストを取得できる。また,ユーザーがこうしたリテラル文字を入力できないようにすることもできる。

 入力が不可欠な文字スペース,省略して空白を入力できる文字スペース,英数字だけ,英字だけ受け付ける,などといった様々な条件を組み合わせて,入力させたいマスクをきめ細かく作成できる。

 また,入力された文字の自動変換もできる。例えば,入力された英字の先頭1文字だけを大文字に変換するといったことが可能である。

 無効な文字が入力された際にイベントを発生させられるため,その場でユーザーに警告したり,ビープ音を発生したりできる。

図1
(図1)

サンプルコードを見る


名前空間
System.Windows.Forms
対応バージョン
.NET Framework 2.0
主なプロパティ
AllowPromptAsInput
ユーザーが有効なデータとしてPromptCharを入力できるかどうかを示す値。

Anchor
MaskedTextBoxコントロールを貼り付けたフォームまたはパネルなど,親コントロールの大きさが変更されたときに,指定した方向に関してコンテナの端からMaskedTextBoxコントロールの端までの距離を一定に保つ。

AsciiOnly
MaskedTextBoxコントロールMaskedTextBoxコントロールがASCII文字セット以外の文字を受け入れるかどうかを示す値。

BackColor
MaskedTextBoxコントロールの背景色。

BackgroundImage
MaskedTextBoxコントロールの背景に表示する画像。

BackgroundImageLayout
MaskedTextBoxコントロールの背景に表示する画像のレイアウト。

BeepOnError
入力を禁止した文字のキーが押されるごとにビープ音を出すかどうかを示す値。

Bounds
クライアント以外の要素を含むMaskedTextBoxコントロールの,親コントロールに対する相対的な大きさおよび位置(ピクセル単位)。

Culture
関連するカルチャ情報。

Dock
MaskedTextBoxコントロールを貼り付けたフォームまたはパネルなどの親コントロールの,どの辺にドッキングさせるのかを設定する。これによって大きさがどのように変化するか決まる。

Enabled
利用可能または利用不可能(グレー・アウト)にする。

Left
MaskedTextBoxコントロールの左端とコンテナのクライアント領域の左端の間の距離(ピクセル単位)を取得または設定する。

Location
コンテナの左上隅に対するMaskedTextBoxコントロールの左上隅の相対座標。

Mask
実行時に使用する入力マスク。

MaskCompleted
必須の入力がすべて入力マスクに入力されたかどうかを示す値。

MaskFull
必須およびオプションの入力がすべて入力マスクに入力されたかどうかを示す値。

PasswordChar
ユーザーが入力した文字の代わりに表示する文字。パスワード入力時などに使う。

PromptChar
MaskedTextBoxコントロールにユーザー入力がないことを表すために使用される文字。

Size
MaskedTextBoxコントロールの高さと幅。

SkipLiterals
リテラル値の再入力を許可されているかどうかを示す値。

Text
MaskedTextBoxコントロールに表示する文字列。

TextMaskFormat
リテラルおよびプロンプト文字が,書式設定された文字列に含まれるかどうかを決定する値。

UseSystemPasswordChar
OSが提供するパスワード文字を使用する必要があるかどうかを示す値。

ValidatingType
ユーザーによるデータ入力を検証するために使用するデータ型。

Visible
このMaskedTextBoxコントロールを画面に表示するかどうかを示す。Falseのときは表示されないので,このMaskedTextBoxコントロールは無効になる。

Width
MaskedTextBoxコントロールの幅。

主なメソッド
AppendText
現在表示中の文字列に,引数に指定された文字列を連結する。

Clear
文字列をすべて削除する。

Hide
MaskedTextBoxコントロールをユーザーに対して非表示にする。

Refresh
MaskedTextBoxコントロールとその子コントロールを再描画する。

Show
MaskedTextBoxコントロールをユーザーに対して表示する。

ValidateText
ユーザー入力文字列を,検証する型のインスタンスに変換する。

主なイベント
MaskInputRejected
入力文字が対応する書式要素と一致しないなど,ユーザーが入力しようとした文字が入力マスクで拒否された場合に発生する。

TextChanged
文字列が変更された場合に発生する。

TypeValidationCompleted
MaskedTextBoxコントロールがValidatingTypeプロパティを使用して現在の値の解析を完了した場合に発生する。