ユーザーが特定の計測器パラメーターの値を入力できるようにする必要がある計測器コントローラーをプログラミングしています。そのようなパラメータの 1 つがNumber of Samples
. 指定された最小値、最大値、増分に従ってユーザー入力を制限する必要があります。
Min: 32
Inc: 32
Max: 2097120
したがって、可能な値は次のとおりです。
32, 64, 96, 128, 160, ..., 2097120
を使用することを検討しましたComboBox
が、これほど多くの項目があると、リストの読み込みが遅くなるだけでなく、ユーザーがそのような大きなリストから値を選択するのにイライラすることになります。
を使用することも考えましたNumericUpDown
が、Increment
パラメーターは上矢印または下矢印を押したときに適用される増分のみを制御します。コントロールの値は、指定された増分に強制されません。たとえば、38 と入力すると、最も近い値である 32 に強制変換されます。58 と入力すると、64 に強制変換されます。
やりたいことを実行できるコントロールはありますか? NumericUpDown
または、値を強制するために値変更イベントを継承して処理する必要がありますか? リストの一部のみをロードし、ユーザーがスクロールするときに残りをロードし続ける特別なComboBox
実装があるので、リスト全体がロードされるまでどれだけ長く待つ必要がないのでしょうか?
ありがとう。
編集: NumericUpDown クラスを拡張して、必要なものを提供します。助けてくれてありがとう!