PowerTools SPREAD for Windows Forms 10.0J > 開発者ガイド > セル型 > InputManセル > GcTimeSpan型セル > 入力の制御(GcTimeSpan型セル) |
GcTimeSpan型セルでは、入力可能な範囲を指定したり、マイナス値の扱いを制御することができます。ここではGcTimeSpan型セルが提供する入力機能について解説します。
GcTimeSpan型セルでは書式設定により、入力および表示書式を自由に設定することができます。入力書式は、セルが入力フォーカスを受け取ったときの書式で、表示書式は入力フォーカスのないときの書式です。
入力書式の設定は、Fields プロパティによって行われ、フィールドとよばれる入力領域を構成する要素によって定義されます。また、表示書式は、DisplayFields プロパティによって行われ、Fields プロパティと同様フィールドによって定義します。 Fields プロパティおよび DisplayFields プロパティについては、「書式設定(GcTimeSpan型セル)」で詳しく解説します。
セルのMaxValue プロパティとMinValue プロパティを設定してセルに入力可能な日付範囲を指定します。
これらのプロパティを使用する場合、検証は入力中のリアルタイムに行われます。全てのフィールドの値が入力されると検証が行われ、範囲外の値の場合にはMaxMinBehavior プロパティの設定によって制御されます。 MaxMinBehavior プロパティに設定できる値は以下のとおりで、既定値はMaxMinBehavior.AdjustToMaxMin です。
MaxMinBehaviorの値 | 説明 |
---|---|
AdjustToMaxMin | 値を最小値か最大値の近い方に設定します。 |
Clear | 値を削除してnullにします。 |
Restore | 変更前の値に戻します。 |
CancelInput | 最後の入力をキャンセルしてフォーカスを保持します。 |
Keep | エラーとなったTextプロパティの値を保持します。 |
次のサンプルコードは、最大値と最小値を設定します。
C# |
コードのコピー
|
---|---|
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; |
Visual Basic |
コードのコピー
|
---|---|
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 | 負数の入力のみを許可します。 |
マイナスキーは値をプラスとマイナスを切り替えるスイッチのような動作を行います。(1回目のマイナスキー押下で値がマイナスに変化、2回目押下でプラスに変化) この動作は、タイムスパンコントロールに以下のショートカット機能が設定されていることで実現されています。
この動作を、マイナスキーが押下された場合には値をマイナスに変更するだけの動作とさせることもできます。(1回目のマイナスキー押下で値がマイナスに変化、2回目押下でもマイナスのまま。プラスにしたい場合はプラスキーを押下する)
既定の動作から新しい動作に変更するためには、上記で挙げたふたつのショートカット機能を削除します。
AcceptsCrLf プロパティを使用してクリップボードへ改行を含む文字列をコピー、または貼り付けた場合の改行コードの扱いを設定できます。AcceptsCrLf プロパティは、CrLfMode 列挙体を使用して次の値を設定できます。
AcceptsCrLfの値 | 説明 |
---|---|
NoControl | 改行コードはそのままでコピー、貼り付けを行います。 |
Filter | 全ての改行コードを削除しコピー、貼り付けを行います。 |
Cut | 最初の改行コード以降の文字列を削除します。標準コントロールと同じ動作です。 |