EditorButton、DropDownEditorButton、AutoRepeatEditorButton、SpinEditorButton、および StateEditorButton のような WinNumericEditor™ コントロールでさまざまなカスタム ボタンを使用できます。 これらのボタンはコントロールの左または右のいずれかに追加可能で、これらのボタンに対応するイベントがあります。
このトピックは、SpinEditorButton オブジェクトと EditorButton オブジェクトの EditorSpinButtonClick イベントと EditorButtonClick イベントを使用する方法を示します。
Microsoft® Visual Studio® ツールボックスから、UltraNumericEditor コントロールをフォームにドラッグ アンド ドロップします。
コントロールのスマートタグをクリックして、Buttons Right ボタンをクリックして NumericEditor の右にカスタム ボタンを追加します。 これによって [EditorButtonBase コレクション エディター] ダイアログ ウィンドウが表示します。
[追加] ボタンをクリックして、ドロップダウン リストから SpinEditorButton と EditorButton も選択します。 [OK] ボタンをクリックしてダイアログを閉じます。
SpinEditorButton オブジェクトと EditorButton オブジェクトの以下のイベントを処理します。
Visual Basic の場合:
Private Sub ultraNumericEditor1_EditorSpinButtonClick(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinEditors.SpinButtonClickEventArgs) Handles ultraNumericEditor1.EditorSpinButtonClick
Dim ed As UltraNumericEditor = TryCast(sender, UltraNumericEditor)
Dim theVal As Integer = CInt(ed.Value)
If e.ButtonType = SpinButtonItem.NextItem AndAlso theVal < 10 Then
theVal += 1
ed.Value = theVal
ElseIf e.ButtonType = SpinButtonItem.PreviousItem AndAlso theVal > 0 Then
theVal -= 1
ed.Value = theVal
Else
MessageBox.Show("You cannot increment any more")
End If
End Sub
Private Sub ultraNumericEditor1_EditorButtonClick(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinEditors.EditorButtonEventArgs) Handles ultraNumericEditor1.EditorButtonClick
System.Diagnostics.Debug.WriteLine(e.Context.ToString())
End Sub
C# の場合:
private void ultraNumericEditor1_EditorSpinButtonClick(object sender, Infragistics.Win.UltraWinEditors.SpinButtonClickEventArgs e)
{
UltraNumericEditor ed = sender as UltraNumericEditor;
int theVal = (int)ed.Value;
if (e.ButtonType == SpinButtonItem.NextItem && theVal < 10)
{
theVal += 1;
ed.Value = theVal;
}
else if (e.ButtonType == SpinButtonItem.PreviousItem && theVal >0)
{
theVal -= 1;
ed.Value = theVal;
}
else
{
MessageBox.Show("You cannot increment any more");
}
}
private void ultraNumericEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.Context.ToString());
}