マスクコントロールには、書式に設定した列挙体の項目を順番に指定できるスピン機能が搭載されています。このトピックでは、このスピン機能について説明します。
(図):スピンボタンとスピン機能
マスクコントロールで列挙型のフィールド(MaskEnumerationField)を使用すると、スピン機能を使って列挙値内の各項目を順次表示させることができます。
例えば、列挙値として "AAA"、"BBB"、"CCC"、"DDD"、"EEE" が設定されていた場合、表示が次のように変化します。
[↑]キーを押す、または上方向スピンボタンを押す、あるいはマウスホイールを上方向に回転する:
AAA → BBB → CCC → DDD → EEE → AAA → ...
[↓]キーを押す、または下方向スピンボタンを押す、あるいはマウスホイールを下方向に回転する:
EEE → DDD → CCC → BBB → AAA → EEE → ...
スピン機能は、スピンボタン、[↑]キー、[↓]キー、あるいはマウスホイールによる操作が可能です。
スピン機能を有効にするには、コントロールの AllowSpin プロパティを True に設定します。次に、スピンボタンを表示させる場合は SpinButtonVisibility プロパティを ButtonVisibility.ShowAlways(常に表示)あるいは ButtonVisibility.ShowOnFocus(フォーカスを受け取ったときに表示)のいずれかに設定します。スピンボタンはマウスを使って操作できます。
スピン機能を無効にすると、スピンボタン、[↑]キー、[↓]キー、あるいはマウスホイールによる操作は無効になります。この場合、列挙値を指定するには、ドロップダウン機能を利用する、列挙値をクリップボードから貼り付ける、列挙値の頭文字をキーボードから入力する、のいずれかに限定されます。 |
以下のサンプルコードは、マスクコントロールのスピン機能を有効にし、フォーカスを受け取ったときにスピンボタンが表示されるように設定します。
Imports GrapeCity.Windows.InputMan ' マスクコントロールに列挙値フィールドを追加します。 Dim items As String() = New String() {"AAA", "BBB", "CCC", "DDD", "EEE"} GcMask1.FieldSet.Fields.Add(New MaskEnumerationField(items)) ' スピン機能を有効にします。 GcMask1.AllowSpin = True ' フォーカスを受け取ったときにスピンボタンを表示します。 GcMask1.SpinButtonVisibility = ButtonVisibility.ShowOnFocus
using GrapeCity.Windows.InputMan; // マスクコントロールに列挙値フィールドを追加します。 string[] items = new string[] { "AAA", "BBB", "CCC", "DDD", "EEE" }; GcMask1.FieldSet.Fields.Add(new MaskEnumerationField(items)); // スピン機能を有効にします。 GcMask1.AllowSpin = true; // フォーカスを受け取ったときにスピンボタンを表示します。 GcMask1.SpinButtonVisibility = ButtonVisibility.ShowOnFocus;
<im:GcMask SpinButtonVisibility="ShowOnFocus" AllowSpin="True"> <im:GcMask.FieldSet> <im:MaskFieldSet> <im:MaskEnumerationField> <im:MaskEnumerationField.Items> <im:StringItem Value="AAA" /> <im:StringItem Value="BBB" /> <im:StringItem Value="CCC" /> <im:StringItem Value="DDD" /> <im:StringItem Value="EEE" /> </im:MaskEnumerationField.Items> </im:MaskEnumerationField> </im:MaskFieldSet> </im:GcMask.FieldSet> </im:GcMask>
SpinAllowWrap プロパティを True に設定すると、値が最後の項目に達した場合は最初の項目に、最初の項目に達した場合は最後の項目に、それぞれ自動的に値を変更します。SpinAllowWrap プロパティのデフォルト値は True です。