C#でNumericUpDownコントロールの特定の構成を構成しようとすると問題が発生します。
基本的には増分間隔を設定できることを確認しましたが、クリックする矢印(上または下)に応じて増分間隔を管理したいと思います。コントロールのイベントを確認しましたが、各矢印のイベントが見つかりません。
基本的には、異なる値で増分が異なる制御を実現したいと思います。
0.00から5.00の増分で0.01、5.00から20.00の増分で0.04など。
これは可能ですか?
注:valuechangedイベントがトリガーされた場合、最後の値のコントロールの履歴値も役立ちます。これは存在しますか?
コメントや提案を事前に感謝します!!!
編集:私はそれを正しく説明しなかったので、私はこれを編集します、私は推測します。これが理由です。上または下のどちらの矢印が押されたかを知りたいからです。
これは私が持っているもので、多かれ少なかれ。矢印の代わりにキーボードを使用して値フィールドに直接設定された誤った値を回避するために、すべての範囲とモジュロ除算を使用したいくつかのチェックを追加しました。問題は、上向きの矢印を使用して制限を通過する場合、すべてがOKであるということです。ただし、下向きの矢印を使用すると、1つのステップを逃します。
if (cuotaUno.Value >= 30M && cuotaUno.Value < 50M)
{
cuotaUno.Increment = 2M;
if (!((cuotaUno.Value % 2M) == 0))
{
cuotaUno.Value = cuotaUno.Value - (cuotaUno.Value % 2M);
}
}
if (cuotaUno.Value >= 50M && cuotaUno.Value < 100M)
{
cuotaUno.Increment = 5M;
if (!((cuotaUno.Value % 5M) == 0))
{
cuotaUno.Value = cuotaUno.Value - (cuotaUno.Value % 5M);
}
}
この場合、値が100のときに下にクリックすると、95ではなく90に直接移動します。ただし、90にいて上にクリックすると、95と100に正しく移動します。