入力マスクを定義すると、PromptChar プロパティによってプレースホルダが定義されます。プレースホルダは、データ入力時に、入力マスクに指定された文字と同じタイプの文字を使用して置き換えることができます。ユーザーが無効な文字を入力すると、コントロールはその文字を受け入れず、InvalidChar イベントを生成します。コントロールは数字やアルファベットなどの文字の種類は検証できますが、正確な月や日時というような内容の有効性は検証できません。
入力マスクの構成文字には次のようなものがあります。
Character |
説明 |
# |
数字のプレースホルダ。文字は数字 (0~9) である必要があり、入力は必須です。 |
。 |
小数のプレースホルダ。実際に使用される文字は、システムの国際設定によって小数のプレースホルダに指定されたものです。この文字はマスク用のリテラルとして扱われます。 |
, |
千の位の区切り記号。実際に使用される文字は、システムの国際設定によって千の位の区切り文字に指定されたものです。この文字はマスク用のリテラルとして扱われます。 |
: | 時刻の区切り文字。実際に使用される文字は、システムの国際設定によって時刻の区切り文字に指定されたものです。この文字はマスキング用のリテラルとして扱われます。 |
/ | 日付の区切り文字。実際に使用される文字は、システムの国際設定によって日付の区切り文字に指定されたものです。この文字はマスク用のリテラルとして扱われます。 |
\ | マスク文字列内の次の文字をリテラルとして扱います。これにより、マスクに '#'、'&'、'A'、'?' やその他の特別な意味を持つ文字を含めることができます。この文字はマスク用のリテラルとして扱われます。 |
& | 文字のプレースホルダ。このプレースホルダーの有効な値は、次の範囲の ANSI 文字セットです。32-126 および 128-255 (キーボードおよび外国記号の文字)。 |
> | 以降の文字をすべて大文字に変換します。 |
< | 以降の文字をすべて小文字に変換します。 |
。 | 英数字および文字のプレースホルダ。例: a-z、A-Z、0-9。文字の入力は必須です。文字検証は char.IsLetterOrDigit() メソッドによって実行されます。 |
a | 英数字および文字のプレースホルダ。例: a-z、A-Z、0-9。文字の入力は必須ではありません。文字検証は char.IsLetterOrDigit() メソッドによって実行されます。 |
9 | 数字のプレースホルダ。文字は数字 (0 から 9) である必要がありますが、入力は必須ではありません。 |
- | マイナス記号の後に一連の 'n' によって数字セクションを定義した場合 (例: "-nn,nnn.nn") は、負の数を指定できることを示します。'n' が後に続かない場合はリテラルと見なされます。マイナス記号は数が実際に負の場合のみ表示されます。 |
+ | プラス記号の後に一連の 'n' によって数字セクションを定義した場合 (例:"-nn,nnn.nn") は、負の数を指定できることを示します。"-"との違いは、数が正か負かに基づいて常に '+' または '-' 記号が表示されるという点です。 |
C | 文字またはスペースのプレースホルダ。文字の入力は必須ではありません。これは「&」プレースホルダとまったく同様に機能し、Microsoft Access との互換性を確保します。 |
? | 文字のプレースホルダ。例:a-z または A-Z を表します。文字の入力は必須ではありません。文字検証は char.IsLetter() メソッドによって実行されます。 |
n | 数字のプレースホルダ。n のグループを使用して、数字が右から左に入力される数字セクションを作成できます。文字は数字 (0 から 9) である必要がありますが、入力は必須ではありません。 |
g または gg | DateTime の年号。コントロールの CultureInfo に従って、DateTime が該当する年号の 1 (g) または 2 (gg) の略。 |
mm, dd, yy | これら 3 つの特殊トークンを組み合わせて日付マスクを定義できます。mm は月、dd は日、yy は 2 桁形式の年、yyyy は 4 桁形式の年を表します。例: mm/dd/yyyy、yyyy/mm/dd、mm/yy。 |
hh, mm, ss, tt | これら 3 つの特殊トークンを組み合わせて時刻マスクを定義できます。hh は時、mm は分、ss は秒、tt は AM/PM を表します。例: hh:mm、hh:mm tt、hh:mm:ss。 |
{date} | {date} トークンは、短い日付形式を入力するためのプレースホルダです。日付マスクは、基になるカルチャ設定を使用して生成されます。 |
{time} | {time}トークンは、短い時刻形式を入力するためのプレースホルダです。短い時刻形式には通常、秒部分は含まれません。時刻マスクは、基になるカルチャ設定を使用して生成されます。 |
{longtime} | {longtime} トークンは、長い時刻形式を入力するためのプレースホルダです。長い時刻形式には通常、秒部分が含まれます。長い時刻マスクは、基になるカルチャ設定を使用して生成されます。 |
{double:i.f:c} | {double:i.f:c}は、浮動小数点の入力を許可するマスクのプレースホルダです。iとi.fのfは、それぞれ整数部分の桁数と小数部分の桁数を指定します。マスクの :c 部分はオプションで、値の整数部分と小数部分を連続して入力することを指定します。たとえば、マスクに :c を指定した場合、12.34 と入力するためには、ユーザーは「1234」とキー入力します。小数点区切り文字を入力しない点に注意してください。このように設定すると、ユーザーは小数点区切り文字を入力する必要がなくなります。 |
{double:-i.f:c} | 負の数を指定できることを除いて double:i.f:c と同じです。 |
{currency:-i.f:c} | 基になる書式プロバイダーまたはカルチャの現在の書式設定情報に基づいてマスクが構成される点以外は{double:i.f:c} と同じです。通常は通貨記号を含み、桁区切り文字も表示します。 |
{currency:-i.f:c} | 負の数を指定できることを除いて currency:i.f:c と同じです。 |
リテラル | 上記以外の記号はすべてリテラルとして (つまり、その記号自体として) 表示されます。 |
また、次の表にある記号が、基になるカルチャ設定の対応する記号にマップされることを示すために、{LOC} 文字シーケンスを使用してマスクをエスケープすることもできます。
Character |
説明 |
$ | 通貨記号。 |
/ | 日付の区切り記号。 |
: | 時刻の区切り記号。 |
, | 千の位の区切り記号。 |
。 | 小数点区切り記号。 |
+ | 正の記号。 |
- | 負の記号。 |
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinMaskedEdit Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load ' InputMask をマスクに設定します Me.ultraMaskedEdit1.InputMask = "mm/dd/yyyy" ' DisplayMode、DataMode、ClipMode の値を設定しますDataMode は ' Text プロパティ (データは文字列型の場合に Value プロパティも) を返すことを指定します ' DisplayMode は、マスク エディターにフォーカスがない場合に表示されることを影響します ' ClipMode は、ユーザーが UltraMaskedEdit のテキストをコピーするときに ' クリップボードに何がコピーされるかに影響します Me.ultraMaskedEdit1.DataMode = MaskMode.IncludeLiterals Me.ultraMaskedEdit1.DisplayMode = MaskMode.IncludeLiterals Me.ultraMaskedEdit1.ClipMode = MaskMode.IncludeBoth ' スピン ボタンを表示するには、SpinButtonDisplayStyle を ' OnRight または OnLeft に設定しますスピン ボタンを使用すると、数値を簡単に ' 増加または減少できます数値または日時セクションのみで ' 使用できます Me.ultraMaskedEdit1.SpinButtonDisplayStyle = SpinButtonDisplayStyle.OnRight ' スピン ボタンのスタイルも設定できます Me.ultraMaskedEdit1.SpinButtonStyle = UIElementButtonStyle.PopupBorderless ' 境界線スタイルを設定します Me.ultraMaskedEdit1.BorderStyle = UIElementBorderStyle.InsetSoft ' DisplayStyle を表示スタイルに設定しますBorderStyle プロパティ設定は、 ' DisplayStyle を Standard 以外の値に設定した場合は無視されます Me.ultraMaskedEdit1.DisplayStyle = EmbeddableElementDisplayStyle.Standard ' PromptChar を文字に設定しますデフォルトは、"_" (アンダースコア文字) です Me.ultraMaskedEdit1.PromptChar = "_" ' PadChar を文字に設定しますデフォルトは、" " (スペース文字) です Me.ultraMaskedEdit1.PadChar = " " ' マスク エディター内のテキストのパッディングをピクセルに設定できます ' デフォルトは 1 です。 Me.ultraMaskedEdit1.Padding = 2 ' Value プロパティを設定すると、最初の値を割り当てます Me.ultraMaskedEdit1.Value = DateTime.Now ' MinValue と MaxValue を設定しますユーザー入力がこの制限以外の値の場合、 ' 無効な入力であると見なされます。無効な値があるコントロールのフォーカスを ' 解除しようとすると、マスク エディターは ' MaskValidationError を発生します Me.ultraMaskedEdit1.MinValue = New DateTime(1990, 1, 1) Me.ultraMaskedEdit1.MaxValue = New DateTime(2010, 12, 31) ' SpinWrap プロパティは、コントロールのスピン ボタンの値を循環させるかどうかを ' 示す値を取得または設定しますTrue の場合、スピン ボタンは Min および Max 値に基づいて ' 値を増加/減少します Me.ultraMaskedEdit1.SpinWrap = True End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinMaskedEdit; using System.Diagnostics; private void Form1_Load(object sender, System.EventArgs e) { // InputMask をマスクに設定します this.ultraMaskedEdit1.InputMask = "mm/dd/yyyy"; // DisplayMode、DataMode、ClipMode の値を設定しますDataMode は // Text プロパティ (データは文字列型の場合に Value プロパティも) を返すことを指定します // DisplayMode は、マスク エディターにフォーカスがない場合に表示されることを影響します // ClipMode は、ユーザーが UltraMaskedEdit のテキストをコピーするときに // クリップボードに何がコピーされるかに影響します this.ultraMaskedEdit1.DataMode = MaskMode.IncludeLiterals; this.ultraMaskedEdit1.DisplayMode = MaskMode.IncludeLiterals; this.ultraMaskedEdit1.ClipMode = MaskMode.IncludeBoth; // スピン ボタンを表示するには、SpinButtonDisplayStyle を // OnRight または OnLeft に設定しますスピン ボタンを使用すると、数値を簡単に // 増加または減少します数値または日時セクションのみで // 使用できます this.ultraMaskedEdit1.SpinButtonDisplayStyle = SpinButtonDisplayStyle.OnRight; // スピン ボタンのスタイルも設定できます this.ultraMaskedEdit1.SpinButtonStyle = UIElementButtonStyle.PopupBorderless; // 境界線スタイルを設定します this.ultraMaskedEdit1.BorderStyle = UIElementBorderStyle.InsetSoft; // DisplayStyle を表示スタイルに設定しますBorderStyle プロパティ設定は、 // DisplayStyle を Standard 以外の値に設定した場合は無視されます this.ultraMaskedEdit1.DisplayStyle = EmbeddableElementDisplayStyle.Standard; // PromptChar を文字に設定しますデフォルトは、'_' (アンダースコア文字) です this.ultraMaskedEdit1.PromptChar = '_'; // PadChar を文字に設定しますデフォルトは、' ' (スペース文字) です this.ultraMaskedEdit1.PadChar = ' '; // マスク エディター内のテキストのパッディングをピクセルに設定できます // デフォルトは 1 です。 this.ultraMaskedEdit1.Padding = 2; // Value プロパティを設定すると、最初の値を割り当てます this.ultraMaskedEdit1.Value = DateTime.Now; // MinValue と MaxValue を設定しますユーザーの入力がこの制限以外の値の場合に // 無効な入力です。無効な値があるコントロールのフォーカスを // 解除しようとすると、マスク エディターは // MaskValidationError を発生します this.ultraMaskedEdit1.MinValue = new DateTime( 1990, 1, 1 ); this.ultraMaskedEdit1.MaxValue = new DateTime( 2010, 12, 31 ); // SpinWrap プロパティは、コントロールのスピン ボタンの値を循環させるかどうかを // 示す値を取得または設定しますTrue の場合、スピン ボタンは Min および Max 値に基づいて // 値を増加/減少します this.ultraMaskedEdit1.SpinWrap = true; }