テキストコントロールでは、入力可能な文字種を
Formatプロパティで制限することができます。Formatプロパティに設定できるキーワードは、次の表のとおりです。また、ここで指定された以外の文字種が入力されると、
InvalidInputクライアントイベントが発生します。
全角 |
半角 |
説明 |
A |
A |
大文字のアルファベット(A〜Z) |
a |
a |
小文字のアルファベット(a〜z) |
K |
K |
カタカナ(促音・拗音の小書き表記あり) |
N |
N |
カタカナ(促音・拗音の小書き表記なし) |
9 |
9 |
数字(0〜9) |
# |
# |
数字および数字関連記号(0〜9、+ - $ % \ , .) |
@ |
@ |
記号 |
B |
B |
2進数(0または1) |
X |
X |
16進数(0〜9、A〜F) |
S |
S |
空白文字 |
J |
- |
ひらがな(促音・拗音の小書き表記あり) |
G |
- |
ひらがな(促音・拗音の小書き表記なし) |
Z |
- |
空白文字以外のすべての全角文字 |
T |
- |
サロゲート ペア文字 |
I |
- |
JIS X 0208で構成された文字 |
M |
- |
Shift JISで構成された文字 |
V |
- |
IVS(Ideographic Variation Sequence)文字 |
D |
- |
空白文字以外の2バイト文字(サロゲート ペア文字、IVS文字、空白文字を除いた全角文字) |
- |
H |
空白文字以外のすべての半角文字 |
- |
^ |
指定した書式に含まれないすべての文字 |
以下に、入力可能な文字種を設定する具体例を示します。
次のコードは、半角大文字のアルファベット(A〜Z)と2進数(0, 1)のみを許可します。
次の例では、半角大文字のアルファベットと数字(0〜9)が入力可能になります。キーワード"X"で指定した16進数は、別のキーワードの"A"と"9"に含まれているので、無視されます。
次のコードでは、すべての半角文字の入力が許可されます。キーワード"AaK9"で指定した文字種は"H"に包含されているので、この部分は無視されます。
次に示す2つの例は、どちらもスペースを含むすべての文字種を許可するものです。デフォルトでは、最初の例のように設定されていますので、2つ目の例のようにキーワード"ZHSS"を指定しなくても同じ動作となります。
次に示す2つのコードは、すべての文字種の入力を拒否します。スペースの入力も許可されません。この例が示すように、キーワード"^"は、その後に記述されたキーワードの補集合を表します。
また、入力可能な文字種から特定の文字種を除外することもできます。次のコードはすべての全角文字からサロゲート文字だけを除外します。
AutoConvertプロパティをTrueに設定すると、Formatプロパティの設定内容に基づいて、変換可能な文字はすべて自動的に変換されます。たとえば、Formatプロパティで"A"キーワードが設定されていると、小文字を入力しても自動的に大文字に変換されます。また、全角文字だけが許可されている場合は、入力された半角文字は全角文字に変換されます。
コントロール内部で行われる自動変換の手順を以下に示します。
- 小文字から大文字、または大文字から小文字への変換を行います。
- 手順1の変換が行われない場合、全角から半角、または半角から全角への変換を行います。
- 手順2の変換が行われない場合、全角大文字から半角小文字、全角小文字から半角大文字、半角大文字から全角小文字、半角小文字から全角大文字のいずれかの変換を行います。
半角カタカナ、全角カタカナ、およびひらがなは、次のように変換されます。
- 半角カタカナは全角カタカナに変換。変換できない場合はひらがなに変換。
- 全角カタカナは半角カタカナに変換。変換できない場合はひらがなに変換。
- ひらがなは全角カタカナに変換。変換できない場合は半角カタカナに変換。
Formatプロパティに"^V"(IVS文字を除外する)が設定された場合、IVS文字およびIVSの親となる漢字(親字)は次のように変換されます。
- IVS文字は親字に変換されます。
- 親字はそのまま入力されます。