Wenn Sie ein DateTimePicker-Steuerelement hinzufügen, können Sie einen Teil des Steuerwerts (z. B. den Monat) auswählen und dann mit den Aufwärts- / Abwärtspfeilen diesen Teil des Datums- / Uhrzeitwerts ändern (z. B. Erhöhen / Verringern der Monat).
Was ich tun möchte, ist, das Gleiche mit dem Mausrad zu erlauben. Ich habe versucht, mich bei der Veranstaltung MouseWheel anzumelden, aber ich finde keinen Weg zu wissen, welcher Teil meines Datums / Zeit gerade ausgewählt ist, so dass ich nicht weiß, ob ich die Zeit, den Tag, den Monat oder die Zeit erhöhen soll Jahr.
Gibt es eine Möglichkeit, dies zu tun?
Wenn Sie die ShowUpDown
-Eigenschaft auf True setzen, erhalten Sie eine Drehbox statt einer Dropdown-Liste, und dies ändert den hervorgehobenen Teil des Datums. Obwohl ich gerade herausgefunden habe, dass dies irrelevant ist, da die Pfeil-nach-oben- und Nach-unten-Tasten den hervorgehobenen Teil des Datums ändern, unabhängig davon, ob diese Eigenschaft auf "True" gesetzt ist oder nicht.
Wenn Sie diesen Code finden, sollten Sie in der Lage sein, das Mausrad auch zu arbeiten. Ich werde einen Blick darauf werfen und sehen, was ich finden kann.
UPDATE:
Ich habe gerade diesen Hinweis über die Eigenschaft ShowCheckBox
gefunden:
Lesen / Schreiben. Wenn dies der Fall ist, ist ein Kontrollkästchen aktiviert links neben Datum und Uhrzeit angezeigt Wert in der Steuerung. Wenn das Checkbox ist aktiviert, die Werte in der Steuerung kann vom Benutzer bei geändert werden Laufzeit durch Markieren eines Teils von das Datum und die Pfeiltasten drücken. Wenn nicht aktiviert, kann das Datum nur sein geändert durch Klicken auf das Dropdown-Menü um den Kalender anzuzeigen. Standard ist falsch.
Ist das von Nutzen?
UPDATE 2:
Ich konnte keinen Code finden, der sich mit diesem speziellen Aspekt von DateTimePicker befasst. Gibt Microsoft den Code für diese Art von Steuerelementen nicht mehr frei?
Bin mir nicht sicher, aber ist diese Richtung gut ..
Ist es nicht sicher, dass x Koordinate für Monat & lt; x für Tag & lt; x für Jahr (unter der Annahme, dass kein benutzerdefiniertes Format vorliegt) innerhalb des Datepicker-Steuerelements, da es entlang der X-Achse angezeigt wird
Dann können wir vielleicht das dateTimePicker1_MouseDown-Ereignis erfassen und die x-Koordinate, auf die wir geklickt haben, vor dem Bildlauf in eine Variable sagen: xCordOfClick, und dann diese im Fiur-Code für das Mausrad verwenden, um basierend auf dem Unterschied in dem wir geklickt haben und zu inkrementieren die x-Position des Datumsspeichers.
etwas wie
In dateTimePicker1_MouseDown (Objektabsender, MouseEventArgs e)
%Vor%In Mausrad-Ereignis
%Vor%