Für die Zahleneingabe setzte ich gerne NumericUpDown Controls ein. Die Schrittweite für das Srpcken auf die kleinen Pfeile nach oben oder unten lässt sich einfach einstellen. Wenn ich dann aber die Einstellung mit dem Mausrad verändere ergibt sich immer die dreifache Schrittweite. Kann das geändert werden ohne das eine allgemeine Systemeinstellung in Windows dauerhaft geändert wird?
Das Incement soll 1 sein (Mausrad und UpDown Pfeile). Gibt es vielleicht die Möglichkeit die kleinen UpDown-Pfeile auszublenden?
Herausgefunden habe ich, dass die Schrittweite beim Mausrad mit
Hier steht auch noch etwas in #C: connect.microsoft.com/VisualSt…lt-in-different-increment
Spoiler anzeigen
Kennt ihr eine Lösung un VB?
Das Incement soll 1 sein (Mausrad und UpDown Pfeile). Gibt es vielleicht die Möglichkeit die kleinen UpDown-Pfeile auszublenden?
Herausgefunden habe ich, dass die Schrittweite beim Mausrad mit
SystemInformation.MouseWheelScrollLines
abgefragt werden kann. Auch wurde hier an einer Lösung in #C gearbeitet: mycsharp.de/wbb2/thread.php?postid=292601Hier steht auch noch etwas in #C: connect.microsoft.com/VisualSt…lt-in-different-increment
C#-Quellcode
- /// <summary>
- /// A NumericUpDown class that handles mouse wheel scrolling correctly
- /// </summary>
- public class MyNumericUpDown : NumericUpDown
- {
- protected override void OnMouseWheel(MouseEventArgs e)
- {
- // Change the value based on the number of wheel clicks.
- // NOTE: This overrides a bug in NumericUpDown where the value
- // change is based on the mouse wheel scrolling setting in Control
- // Panel.
- //
- decimal val = Value;
- val += ((e.Delta/120) * Increment);
- if (val < Minimum)
- {
- val = Minimum;
- }
- else if (val > Maximum)
- {
- val = Maximum;
- }
- Value = val;
- }
- }
Kennt ihr eine Lösung un VB?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „egon“ ()