PowerTools MultiRow for Windows Forms 8.0J > InputManCellの使い方 > GcMaskCell > 書式の設定 > フィールドオブジェクトによる書式設定 |
ここでは、フィールドオブジェクトを使用した書式設定について説明します。
これらのフィールドオブジェクトをMaskFieldCollectionクラスに追加することで、マスク書式を作成します。
マスク書式は前項で解説した3つのフィールドオブジェクトを組み合わせて作成します。たとえば、郵便番号書式を作成するには、以下のフィールドオブジェクトをコレクションに追加します。
オブジェクトをコレクションに追加するには、Addメソッドまたは、AddRangeメソッドを使用します。
次のサンプルコードは、GcMaskCellに郵便番号書式を設定する例です。MaskFieldCollection.AddRangeメソッドを使用してMaskFieldCollectionにフィールドを追加しています。
Imports GrapeCity.Win.MultiRow Imports InputManCell = GrapeCity.Win.MultiRow.InputMan Dim GcMaskCell1 = New InputManCell.GcMaskCell() ' フィールドオブジェクトを作成します。 Dim MaskPatternField1 As InputManCell.MaskPatternField = New InputManCell.MaskPatternField("\D", 3, 3) Dim MaskLiteralField1 As InputManCell.MaskLiteralField = New InputManCell.MaskLiteralField() Dim MaskPatternField2 As InputManCell.MaskPatternField = New InputManCell.MaskPatternField("\D", 4, 4) MaskLiteralField1.Text = "-" ' フィールドをコレクションに追加してセルに書式を設定します。 GcMaskCell1.Fields.AddRange(New InputManCell.MaskField() {MaskPatternField1, MaskLiteralField1, MaskPatternField2}) GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcMaskCell1}) GcMultiRow1.RowCount = 5
using GrapeCity.Win.MultiRow; using InputManCell = GrapeCity.Win.MultiRow.InputMan; InputManCell.GcMaskCell gcMaskCell1 = new InputManCell.GcMaskCell(); // フィールドオブジェクトを作成します。 InputManCell.MaskPatternField maskPatternField1 = new InputManCell.MaskPatternField("\\D", 3, 3); InputManCell.MaskLiteralField maskLiteralField1 = new InputManCell.MaskLiteralField(); InputManCell.MaskPatternField maskPatternField2 = new InputManCell.MaskPatternField("\\D", 4, 4); maskLiteralField1.Text = "-"; // フィールドをコレクションに追加してセルに書式を設定します。 gcMaskCell1.Fields.AddRange(new InputManCell.MaskField[] { maskPatternField1, maskLiteralField1, maskPatternField2 }); gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcMaskCell1 }); gcMultiRow1.RowCount = 5;
フィールドオブジェクトをMaskFieldCollectionから削除するには、Removeメソッドまたは、RemoveAtメソッドを使用します。
|
次のサンプルコードは、MaskFieldCollectionの先頭のフィールドを削除する例です。
' コレクションの先頭のオブジェクトを削除します。 Dim GcMaskCell As GrapeCity.Win.MultiRow.InputMan.GcMaskCell = DirectCast(GcMultiRow1(0, 0), GrapeCity.Win.MultiRow.InputMan.GcMaskCell) GcMaskCell.Fields.RemoveAt(0)
// コレクションの先頭のオブジェクトを削除します。
GrapeCity.Win.MultiRow.InputMan.GcMaskCell gcMaskCell = (GrapeCity.Win.MultiRow.InputMan.GcMaskCell)gcMultiRow1[0, 0];
gcMaskCell.Fields.RemoveAt(0);
デザイン画面ではフィールドオブジェクトを設定できる「入力フィールドの編集」エディタから容易な設定が可能です。 このエディタは次のいずれかの方法で起動でき、GcMaskCellで設定可能な3種類のフィールドを組み合わせて設定します。
このエディタでは、コレクションにフィールドを追加すると同時に各フィールドのテキストのフォントや色といったスタイルを設定することができます。
(図)フィールド毎に異なったスタイルを設定
プロパティ | 説明 |
---|---|
BackColor | フィールド背景色を設定します。 |
Font | フィールドに表示される文字列のフォントを設定します。 |
ForeColor | フィールド背景色を設定します。 |
Margin | フィールド領域の外枠の距離を設定します。 セルの境界線からの距離や、他のフィールドとの間隔を設定する際に使用します。 |
Padding | フィールド領域からテキストの表示エリアまでの距離を設定します。 |
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します。 |
MaxLength | Patternプロパティで設定されたキーワードを繰り返す最大文字数を設定します。 |
MinLength | Patternプロパティで設定されたキーワードを繰り返す最小文字数を設定します。 |
PasswordChar | フィールドをパスワード文字として表示するときの文字を設定します。 |
Pattern | 入力マスクを定義する正規表現のキーワード(メタ文字)を設定します。 |
PromptChar | プロンプト文字を設定します。 |
UseSystemPasswordChar | パスワード文字をシステムで定義された文字で表示するかどうか設定します。 |
◆ Pattern プロパティで使用可能な表現のタイプ
表現のタイプ | 説明 |
---|---|
8進数(ASCII) | ASCII文字を表現するときだけ使用します。「\040」のように、頭に0をつけて必ず3桁の数値で表現します。 |
16進数(ASCII) | ASCII文字を表現するときだけ使用します。「\x20」のように、\xに続いて必ず2桁の数値(頭に0を付ける)で表現します。 |
16進数(Unicode) | すべての文字を表現できます。「\u0020」のように、\uに続いて必ず4桁の数値(頭に0を付ける)で表現します。 |
キーワード | 下表で説明するキーワード(メタ文字)です。 |
文字 | キーワード以外の文字です。 |
◆ Pattern プロパティで使用可能なキーワード
1. 主要なキーワード
半角 | 全角 | 説明 |
---|---|---|
\A | \A | 大文字のアルファベットを表します。[A-Z]または[A-Z]と同等です。 |
\a | \a | 小文字のアルファベットを表します。[a-z]または[a-z]と同等です。 |
\D | \D | 数字を表します。[0-9]または[0-9]と同等です。 |
\B | \B | 2進数を表します。[0-1]または[0-1]と同等です。 |
\X | \X | 16進数を表します。[0-9A-Fa-f]または[0-9A-Fa-f]と同等です。 |
\W | \W | すべての英数字を表します。[a-zA-Z_0-9]または[a-zA-Z_0-9]と同等です。 |
\K | \K | カタカナ(促音・拗音の小書き表記あり)を表します。 |
\N | \N | カタカナ(促音・拗音の小書き表記なし)を表します。 |
\H | - | すべての半角文字を表します。 |
- | \J | ひらがな(促音・拗音の小書き表記あり)を表します。 |
- | \G | ひらがな(促音・拗音の小書き表記なし)を表します。 |
- | \Z | すべての全角文字を表します。 |
- | \T | サロゲート ペア文字を表します。 |
- | \I | JIS X 0208文字を表します。 |
- | \M | Shift JIS文字を表します。 |
- | \V | IVS(Ideographic Variation Sequence)文字を表します。 |
半角文字と全角文字は、その文字のShift-JISコードを使って識別されます。 |
2. 補助的なキーワード
メタ文字 | 説明 |
---|---|
^ | その後に続く文字グループの補集合をあらわします。 |
- | 文字の範囲を指定します。 |
\(Chr(92)) | キーワードをリテラル文字として表示 |
Patternプロパティ | MaxLengthプロパティ | MinLengthプロパティ | 表示例 | 説明 |
---|---|---|---|---|
\Z | 0 | 50 | あア漢1Aa | 0文字以上、50文字以下のすべての全角を表します。 |
\D | 3 | 5 | 1234 | 3文字以上、5文字以下のすべての半角数字を表します。 |
1-3,a-c,A-C | 10 | 10 | 1234 | 10文字の1,2,3,a,b,c,A,B,Cを表します。 |
A-Z | 0 | 65535 | ABCDE | 半角大文字アルファベットを表します。\Aと同等です。 |
H^a-z | 0 | 65535 | 12ABアイウ | 小文字のアルファベットを除くすべての半角文字を表します。 |
^\T | 0 | 65535 | あア漢1Aa | サロゲート ぺア文字を除くすべての文字を表します。 |
プロパティ | 説明 |
---|---|
Text | 表示するリテラル文字を設定します。 |
列挙型フィールド(MaskEnumerationFieldクラス)は、設定された列挙体の項目から選択して文字列をセルに表示することができます。このフィールドには、列挙体で設定された文字列以外の文字は入力できません。
列挙体に設定された文字列を選択するには、セルのスピン機能によって順次表示させるか、列挙型フィールドにドロップダウンリストを表示してリストから選択することができます。
ドロップダウンリストはフィールド単位で表示されるため、1つのセルに複数の列挙体フィールドを設定すれば、複数のドロップダウンリストを持ったセルを作成することもできます。
プロパティ | 説明 |
---|---|
AutoConvert | Patternプロパティで設定された文字種に自動で変換するかどうか設定します。 |
AutoDropDown | フィールドにカレットが移動されたときに、自動でドロップダウンリストを表示するかどうか設定します。 |
DropDownEnabled | フィールドのドロップダウン機能を有効にするかどうか設定します。 |
Items | 文字列の列挙体を設定します。 |
PromptChar | プロンプト文字を設定します。 |
SpinIncremnet | スピンによって列挙体を増減させる項目の数を設定します。 |