基本的な機能
数値コントロールとしての基本的な機能には、動作範囲を決定するMaxValueプロパティとMinValueプロパティがあります。値の増減はフィールド単位、値全体、あるいはキャレットが置かれている桁のいずれかに対して行うことができます。例えば、SpinModeプロパティをNumberSpinMode.Fieldに設定すればフィールド単位で、NumberSpinMode.Valueに設定すれば値全体に対して、NumberSpinMode.Digitsに設定すればキャレットが置かれている桁に対して、値の増減が行われます。増減幅は、次のようになっています。
SpinMode | 説明 | プロパティ |
NumberSpinMode.Field | キャレットの位置に存在するフィールドに対して値の増減を行います | 増減値は SpinIncrement プロパティで設定します。なお、リテラルフィールド上にキャレットがある場合、スピン機能は無効になります |
NumberSpinMode.Value | キャレットの位置に関わらず、値全体に対して値の増減を行います | 増減値は SpinIncrementValue プロパティで設定します |
NumberSpinMode.Digits | キャレットの位置に存在する桁に対して値の増減を行います | 増減値は SpinIncrement プロパティで設定します。なお、リテラルフィールド上にキャレットがある場合、スピン機能は無効になります |
SpinAllowWrapプロパティをTrueに設定すると、値が最大値に達した場合は最小値に、最小値に達した場合は最大値に、それぞれ自動的に値を変更します(デフォルト値はTrue)。
入力された値を取得するには、TextプロパティかValueプロパティを使用します。Textプロパティは、コントロールに表示される文字列値を取得します。Valueプロパティは、リテラル文字列を除いたコントロール内の数値をDecimal型で取得します。設定入力値に書式を設定した場合、その入力値を取得する際に書式付きで取得するのであればTextプロパティを、書式なしで取得するのであればValueプロパティを使用します。これら以外にも、次の機能があります。
-
マイナス値の色と設定
マイナス値が入力された際に表示する接頭辞/接尾辞文字列を指定できます。また、NegativeForegroundプロパティを使用して、マイナス値が入力された場合の文字色を設定できます。
-
プラス値/マイナス値の切り替え
デフォルトでは[+]キー、および[-]キーは、それぞれ入力値をプラス値/マイナス値に切り替えるスイッチとして動作します。値がプラス値の時に[-]キーを押すとマイナス値に、値がマイナス値の時に[+]キーを押すとプラス値に、それぞれ切り替わります。
-
値をNullにできるかどうかの設定
AllowDeleteToNullプロパティを使うと、値がゼロの時にDeleteやBackSpaceキーを押下することで、値をNullにできるかどうかを制御できます。
-
未入力時に表示する透かし表示テキスト
WatermarkNullプロパティおよびWatermarkDisplayNullプロパティを使用すれば、コントロールが未入力の時(値がNullの場合)に代わりに表示する透かし表示テキストを文字列として設定できます。また、値がゼロの場合は、WatermarkZeroプロパティおよびWatermarkDispkayZeroプロパティを使用して、透かし表示テキストの設定が可能です。
-
入力候補値の表示
ShowRecommendedValueプロパティを使用すると、数値コントロールで値が未入力の時、入力候補となる値をグレー表示できます。
-
ハイライト表示
HighlightTextプロパティを使用すると、フォーカスを受け取った時のテキストの選択状態を設定できます。
-
ドロップダウン電卓
数値コントロールには、ドロップダウンで表示できるドロップダウン電卓が搭載されています。
-
検証項目の指定
数値コントロールでは、RangeValidator(入力値が有効範囲内かどうかの検証)を使って入力された値の検証を行うことができます。
値が有効範囲を超えた場合の動作は、以下のいずれかから指定できます。
プロパティ | 説明 |
ValueProcessAction.Keep | 何もしません |
ValueProcessAction.Clear | 入力値をクリアします |
ValueProcessAction.Restore | 入力前の値を復元します |
ValueProcessAction.AdjustToMinMax | 有効範囲内に収まるよう入力値を調整します |