[]
        
(Showing Draft Content)

入力の制御(GcTimeSpan型セル)

GcTimeSpan型セルでは、入力可能な範囲を指定したり、マイナス値の扱いを制御することができます。ここではGcTimeSpan型セルが提供する入力機能について解説します。

書式の設定

GcTimeSpan型セルでは書式設定により、入力および表示書式を自由に設定することができます。入力書式は、セルが入力フォーカスを受け取ったときの書式で、表示書式は入力フォーカスのないときの書式です。

入力書式の設定は、Fields プロパティによって行われ、フィールドとよばれる入力領域を構成する要素によって定義されます。また、表示書式は、DisplayFields プロパティによって行われ、Fields プロパティと同様フィールドによって定義します。 Fields プロパティおよび DisplayFields プロパティについては、「書式設定(GcTimeSpan型セル)」で詳しく解説します。

入力範囲の指定

セルのMaxValue プロパティとMinValue プロパティを設定してセルに入力可能な日付範囲を指定します。

これらのプロパティを使用する場合、検証は入力中のリアルタイムに行われます。全てのフィールドの値が入力されると検証が行われ、範囲外の値の場合にはMaxMinBehavior プロパティの設定によって制御されます。 MaxMinBehavior プロパティに設定できる値は以下のとおりで、既定値はMaxMinBehavior.AdjustToMaxMin です。

MaxMinBehaviorの値

説明

AdjustToMaxMin

値を最小値か最大値の近い方に設定します。

Clear

値を削除してnullにします。

Restore

変更前の値に戻します。

CancelInput

最後の入力をキャンセルしてフォーカスを保持します。

Keep

エラーとなったTextプロパティの値を保持します。

サンプルコード

次のサンプルコードは、最大値と最小値を設定します。

GrapeCity.Win.Spread.InputMan.CellType.GcTimeSpanCellType gcTimeSpan1 = new GrapeCity.Win.Spread.InputMan.CellType.GcTimeSpanCellType();
// 最大値と最小値を設定します。
gcTimeSpan1.MaxValue = TimeSpan.Parse("1.00:00:00");
gcTimeSpan1.MinValue = TimeSpan.Parse("00:00:00");
// 範囲外の場合に値をどのように制御するかを設定します。
gcTimeSpan1.MaxMinBehavior = GrapeCity.Win.Spread.InputMan.CellType.MaxMinBehavior.CancelInput;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = gcTimeSpan1;
Dim gcTimeSpan1 As New GrapeCity.Win.Spread.InputMan.CellType.GcTimeSpanCellType()
' 最大値と最小値を設定します。
gcTimeSpan1.MaxValue = TimeSpan.Parse("1.00:00:00")
gcTimeSpan1.MinValue = TimeSpan.Parse("00:00:00")
' 範囲外の場合に値をどのように制御するかを設定します。
gcTimeSpan1.MaxMinBehavior = GrapeCity.Win.Spread.InputMan.CellType.MaxMinBehavior.CancelInput
FpSpread1.ActiveSheet.Cells(0, 0).CellType = gcTimeSpan1

マイナス値の設定と色

コントロールの入力をプラスの値かマイナスの値のいずれかのみを許可したい場合、ValueSign プロパティを設定します。

プロパティ値

説明

NoControl

数値の符号が設定されていません。正数、負数両方の入力を許可します。

Positive

正数の入力のみを許可します。

Negative

負数の入力のみを許可します。

マイナス値が入力されたとき、書式の設定で表示する文字列を指定することが可能ですが、NegativeColor プロパティを使用すれば、マイナス値が入力された場合の文字色を設定することができます。また、UseNegativeColor プロパティで、指定した色を適用するかどうかを設定します。


(図) マイナス値の書式と色を設定したタイムスパンコントロール

マイナスキーの動作

マイナスキーは値をプラスとマイナスを切り替えるスイッチのような動作を行います。(1回目のマイナスキー押下で値がマイナスに変化、2回目押下でプラスに変化) この動作は、タイムスパンコントロールに以下のショートカット機能が設定されていることで実現されています。

  • キー:OemMinus に対して ショートカット動作の SwitchSign

  • キー:Subtract に対して ショートカット動作の SwitchSign

この動作を、マイナスキーが押下された場合には値をマイナスに変更するだけの動作とさせることもできます。(1回目のマイナスキー押下で値がマイナスに変化、2回目押下でもマイナスのまま。プラスにしたい場合はプラスキーを押下する)

既定の動作から新しい動作に変更するためには、上記で挙げたふたつのショートカット機能を削除します。

改行コードの取り扱い

AcceptsCrLf プロパティを使用してクリップボードへ改行を含む文字列をコピー、または貼り付けた場合の改行コードの扱いを設定できます。AcceptsCrLf プロパティは、CrLfMode 列挙体を使用して次の値を設定できます。

AcceptsCrLfの値

説明

NoControl

改行コードはそのままでコピー、貼り付けを行います。

Filter

全ての改行コードを削除しコピー、貼り付けを行います。

Cut

最初の改行コード以降の文字列を削除します。標準コントロールと同じ動作です。

参照

書式設定(GcTimeSpan型セル)

視覚的な補助(GcTimeSpan型セル)