マスクコンボコントロールでは、マスク書式の設定が可能です。ここではマスクコンボコントロールが提供する入力機能について解説します。
マスクコンボコントロールでは正規表現による書式設定が可能です。書式の設定はFields プロパティによって行われ、フィールドとよばれる入力領域を構成する要素によって定義されます。Fields プロパティの詳細や書式の設定方法については、「書式の設定」で詳しく解説します。
AcceptsCrLf プロパティを使用してクリップボードへ改行を含む文字列をコピー、または貼り付けた場合の改行コードの扱いを設定できます。AcceptsCrLf プロパティは、CrLfMode 列挙体を使用して次の値を設定できます。
AcceptsCrLfの値 | 説明 |
---|---|
NoControl | 改行コードはそのままでコピー、貼り付けを行います。 |
Filter | 全ての改行コードを削除しコピー、貼り付けを行います。 |
Cut | 最初の改行コード以降の文字列を削除します。標準コントロールと同じ動作です。 |
AcceptsTabChar プロパティを使用してクリップボードへタブ文字を含む文字列をコピー、または貼り付けた場合のタブ文字の扱いを設定できます。AcceptsTabChar プロパティは、TabCharMode 列挙体を使用して次の値を設定できます。
AcceptsTabCharの値 | 説明 |
---|---|
NoControl | タブ文字はそのままでコピー、貼り付けを行います。 |
Filter | 全てのタブ文字を削除しコピー、貼り付けを行います。 |
Cut | 最初のタブ文字以降の文字列を削除します。 |
Value プロパティを使えば、リテラル文字とプロンプト文字を除いたコントロール内の文字列を取得または設定できます。たとえば、Text プロパティに「郵便番号:981-3205」が設定されているときには、Value プロパティの値は「9813205」となります。
リテラル文字とプロンプト文字については「書式の設定」で解説しています。
Value プロパティが変更されると、その変更はDisplayText プロパティとText プロパティにも適用されます。また、InputStatus プロパティによって、すべてのフィールドに値が入力されているかどうかを確認することが可能です。
クリップボードにリテラル文字を含まない値を渡すには、ClipContent プロパティとSelectedText プロパティを使用します。ClipContent プロパティで制御できるのは、SelectedText プロパティの値のみなので、以下のプロパティの値をクリップボードに設定した場合は、ClipContent プロパティの設定は無効になります。なお、プロンプト文字列は、ClipContent プロパティの設定に関わらず常にクリップボードに渡されます。
次のサンプルコードは、ClipContent プロパティを使って、リテラル文字列を省いた文字列をクリップボードにコピーする方法を示します。
コントロールに文字列を入力するとTextChanging イベントが、TextChanged イベントの前(入力された文字列がText プロパティに渡される前)に発生します。このイベント内で入力文字列をチェックすれば、Text プロパティの値に影響を与えることなく、入力を制御できます。