MaskedTextBox.Mask プロパティ

定義

実行時に使用する入力マスクを取得または設定します。

C#
public string Mask { get; set; }

プロパティ値

現在のマスクを表す String。 既定値は、任意の入力を許可する空の文字列です。

例外

Mask プロパティに指定された文字列が有効なマスクではありません。 無効なマスクには、印字不可能な文字を格納しているマスクが含まれます。

注釈

Mask は クラスの既定の MaskedTextBox プロパティです。

Mask は、次の表に示すように、1 つ以上のマスク要素で構成される文字列である必要があります。 によって MaskedTextBox 使用されるマスク言語は、関連付けられている MaskedTextProviderによって定義されます。 標準プロバイダーは、Visual Basic 6.0 の Masked Edit コントロールで使用されるマスク言語に基づいてマスク言語を指定し、そのプラットフォームから移行するユーザーにとって非常に使い慣れている必要があります。

マスク要素 説明
0 数字(必須)。 この要素は、0 ~ 9 の任意の 1 桁を受け入れます。
9 数字またはスペース (省略可能)。
# 数字またはスペース (省略可能)。 この位置がマスク内で空白の場合は、 プロパティの Text スペースとしてレンダリングされます。 プラス (+) 記号とマイナス (-) 記号を使用できます。
L レター(必須)。 入力を ASCII 文字 a から z および A から Z に制限します。 このマスク要素は、正規表現の [a-zA-Z] に相当します。
? 文字(省略可能)。 入力を ASCII 文字 a から z および A から Z に制限します。 このマスク要素は [a-zA-Z] と同じですか? 正規表現で。
& 文字(必須)。 プロパティが AsciiOnly true に設定されている場合、この要素は "L" 要素のように動作します。
C 文字(省略可能)。 コントロール以外の文字。 プロパティが AsciiOnlytrue設定されている場合、この要素は "?" 要素のように動作します。
A 英数字(必須)。 プロパティが AsciiOnlytrue設定されている場合、受け入れられる文字は、ASCII 文字 a ~ z と A ~ Z のみです。 このマスク要素は、"a" 要素と同様に動作します。
a 英数字(省略可能)。 プロパティが AsciiOnlytrue設定されている場合、受け入れられる文字は、ASCII 文字 a ~ z と A ~ Z のみです。 このマスク要素は、"A" 要素と同様に動作します。
. 小数点のプレースホルダー。 実際に使用される表示文字は、コントロール FormatProvider の プロパティによって決まる形式プロバイダーに適した 10 進記号になります。
, 千のプレースホルダー。 実際に使用される表示文字は、コントロールの プロパティによって決定される形式プロバイダーに適した数千の FormatProvider プレースホルダーになります。
: 時刻の区切り記号。 実際に使用される表示文字は、コントロール FormatProvider の プロパティによって決定される形式プロバイダーに適した時刻記号になります。
/ 日付の区切り記号。 実際に使用される表示文字は、コントロール FormatProvider の プロパティによって決定される形式プロバイダーに適した日付記号になります。
$ 通貨記号。 表示される実際の文字は、コントロール FormatProvider の プロパティによって決定される書式プロバイダーに適した通貨記号になります。
< 下にシフトします。 後続のすべての文字を小文字に変換します。
> 上にシフトします。 後続のすべての文字を大文字に変換します。
| 前のシフトを無効にするか、下にシフトします。
\ エスケープ。 マスク文字をエスケープしてリテラルに変換します。 "\" は、円記号のエスケープ シーケンスです。
上記以外のすべての文字 リテラル。 マスク要素以外のすべての要素は、MaskedTextBox 内にそのまま表示されます。 リテラルは常に実行時にマスク内の静的な位置を占め、ユーザーが移動または削除することはできません。

前のマスクでフィルター処理されたユーザー入力が既に含まれているときに MaskedTextBox マスクを変更すると、 MaskedTextBox その入力を新しいマスク定義に移行しようとします。 失敗した場合は、既存の入力がクリアされます。 マスクとして長さ 0 の文字列を割り当てると、コントロール内の既存のデータが保持されます。 長さ 0 のマスクと共に使用すると、 MaskedTextBox は 1 行 TextBox のコントロールのように動作します。

小数点 (.)、桁区切り (,)、時刻 (:)、日付 (/)、通貨 ($) の各記号は、アプリケーションのカルチャで定義されている記号が既定で表示されます。 FormatProvider プロパティを使用すると、別のカルチャの記号を強制的に表示できます。

実行時のマスクへの文字挿入は、 プロパティによって InsertKeyMode 制御されます。 ユーザーは、左右の方向キーまたはマウス カーソルを使用してマスク内を移動でき、スペースを入力することでマスク内のオプションの位置をスキップできます。

重要

MaskedTextBox は、サロゲートと垂直方向に結合された文字を除くすべての Unicode 文字をサポートします。

次の表に、マスクの例を示します。

マスク 動作
00/00/0000 国際日付形式の日付 (日、数値の月、年)。 "/" 文字は論理日付区切り記号であり、アプリケーションの現在のカルチャに適した日付区切り記号としてユーザーに表示されます。
00->L<LL-0000 米国形式の日付 (日、月の省略形、年)。3 文字の月の省略形は、先頭の大文字の後に 2 つの小文字が続く形で表示されます。
(999)-000-0000 米国の電話番号。市外局番は省略可能です。 ユーザーが省略可能な文字を入力したくない場合は、スペースを入力するか、最初の 0 で表されるマスク内の位置にマウス ポインターを直接配置できます。
$999,999.00 0 から 999999 の範囲の通貨値。 通貨、桁区切り、小数点の各文字は、実行時にカルチャ固有の同等の文字に置き換えられます。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

こちらもご覧ください