MESCIUS SPREAD for Windows Forms 17.0J
書式設定(GcComboBox型セル)

GcComboBox型セルのテキストボックス部の入力書式について説明します。

書式の設定

テキストボックス部は、書式を設定することで入力可能な文字種を制限することができます。入力可能な文字種はFormatString プロパティで制限することができます。FormatString プロパティに設定できるキーワードは、次の表のとおりです。

全角 半角 説明
A 大文字のアルファベット(A〜Z)
a 小文字のアルファベット(a〜z)
K カタカナ(促音・拗音の小書き表記あり)
N カタカナ(促音・拗音の小書き表記なし)
9 数字(0〜9)
# 数字および数字関連記号(0〜9、+ - $ % \ , .)
@ 記号(! " # $ % & ' ( ) - = ^ ~ \ | @ ` [ { ; + : * ] } , < . > / ? _ 。 「 」 、 ・)
B 2進数(0または1)
X 16進数(0〜9、A〜F)
- ひらがな(促音・拗音の小書き表記あり)
- ひらがな(促音・拗音の小書き表記なし)
- すべての全角文字
- サロゲート ペア文字
- 2バイト文字(サロゲート ペア文字を除いた全角文字)
- JIS X 0208文字で構成された文字
- Shift JIS文字で構成された文字
- IVS(Ideographic Variation Sequence)文字
- H すべての半角文字
- ^ 指定した書式に含まれないすべての文字
- \ エスケープ・シーケンス

半角文字と全角文字は、その文字のShift-JISコードを使って識別されます。

サンプルコード

次のサンプルコードは、半角大文字のアルファベット(A〜Z)と2進数(0, 1)のみを許可します。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "AB";
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = "AB"

次のサンプルコードは、半角大文字のアルファベットと数字(0〜9)が入力可能になります。キーワード"X"で指定した16進数は、別のキーワードの"A"と"9"に含まれているので、無視されます。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "AX9";
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = "AX9"

次のサンプルコードは、すべての半角文字の入力が許可されます。キーワード"AaK9"で指定した文字種は"H"に包含されているので、この部分は無視されます。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "AaK9H";
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = "AaK9H"

次のサンプルコードは、どちらもスペースを含むすべての文字種を許可するものです。デフォルトでは、最初の例のように設定されています。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "";
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.Both;
gcbcell.FormatString = "ZH";
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.Both;
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = ""
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.Both
gcbcell.FormatString = "ZH"
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.Both

次のサンプルコードは、すべての文字種の入力を拒否します。スペースの入力も許可されません。この例が示すように、キーワード"^"は、その後に記述されたキーワードの補集合を表します。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "^";
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.None;
gcbcell.FormatString = "^ZH";
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.None;
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = "^"
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.None
gcbcell.FormatString = "^ZH"
gcbcell.AllowSpace = GrapeCity.Win.Spread.InputMan.CellType.AllowSpace.None

また、入力可能な文字種から特定の文字種を除外することもできます。次のサンプルコードは、すべての全角文字からサロゲート文字だけを除外します。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "Z^T";
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = "Z^T"

特定の文字を書式に設定することも可能です。記号から「^、@、\、$」の4文字を除外するには以下のように記述します。

C#
コードのコピー
GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType gcbcell = new GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType();
gcbcell.FormatString = "@^\\^\\@\\\\$";
Visual Basic
コードのコピー
Dim gcbcell = New GrapeCity.Win.Spread.InputMan.CellType.GcComboBoxCellType()
gcbcell.FormatString = "@^\^\@\\$"
文字列の自動変換

AutoConvert プロパティをTrueに設定すると、FormatString プロパティの設定内容に基づいて、変換可能な文字はすべて自動的に変換されます。たとえば、FormatString プロパティで"A"キーワードが設定されていると、小文字を入力しても自動的に大文字に変換されます。また、全角文字だけが許可されている場合は、入力された半角文字は全角文字に変換されます。

コントロール内部で行われる自動変換の手順を以下に示します。

  1. 小文字から大文字、または大文字から小文字への変換を行います。
  2. 手順 1 の変換が行われない場合、全角から半角、または半角から全角への変換を行います。
  3. 手順 2 の変換が行われない場合、全角大文字から半角小文字、全角小文字から半角大文字、半角大文字から全角小文字、半角小文字から全角大文字のいずれかの変換を行います。

半角カタカナ、全角カタカナ、およびひらがなは、次のように変換されます。

FormatStringプロパティに"^V"が設定された場合、IVS文字およびIVSの親となる漢字(以下、親字)は以下のように変換されます。

"^V"(IVS文字を除外する)
IVS文字 親字に変換されます。
親字 そのまま入力されます。
スペース入力の制御

AllowSpace プロパティは、FormatString プロパティの設定に依存せずに入力可能なスペースの種類を設定します。AllowSpace プロパティがAllowSpace.Wide に設定されている場合、FormatString プロパティにキーワード"H"のみが設定されていても、コントロールには全角のスペースのみ入力可能です。また、同様にAllowSpace プロパティがAllowSpace.Narrow に設定されている場合、キーワード"Z"のみが設定されていても、半角のスペースだけが入力可能になります。

AllowSpaceの値 説明
Both 半角、全角の両方のスペースが入力可能。
Narrow 半角のスペースのみ入力可能。
Wide 全角のスペースのみ入力可能。
None スペースの入力はできません。

既存のテキストにスペースが含まれているときに、AllowSpace をNoneに設定すると、それらのスペースがすべて削除されます。

参照

 

 


© MESCIUS inc. All rights reserved.