Uhrzeit auswählen

Controls zum Auswählen von Datum und Zeit

Ab und zu muss man im Programm eine Uhrzeit anzeigen oder einstellen. Das geht natürlich auch mit dem DateTimePicker. Komfortabler ist das aber mit einem eigenen Windows Forms Control.

In einem Usenet-Forum wurde mal nach so einem Control gefragt. Als erstes kam mir die Idee, eine Uhr zum Einstellen einer Zeit zu verwenden. Aber was macht man, wenn man Zeitbereiche markieren will? Es soll ja möglichst schnell gehen.

Meine Idee dazu war ein waagerechtes Lineal, das einen Zeitraum von 24 Stunden anzeigt, und auf dem man mit der Maus Zeitbereiche markieren kann. Dazu noch ein Steuerelement, das alle Tage eines Monats anzeigen kann, und fertig ist eine einfache Zeitauswahl.

ZeitAuswahl-Demo: Ein Control zum Auswählen von Zeitbereichen

Dieses Control ist relativ einfach zusammengesetzt, über Properties kann der anzuzeigende Monat und die Datenquelle für die anzuzeigenden Zeiträume geändert werden.

Mit ein paar eigenen Gradienten kann man rasch einen eigenen professionellen Look erstellen, der zu den anderen verwendeten Controls passt.

Dieses Control kann allerdings nur innerhalb von 24 Stunden auswählen und auch die Auflösung beträgt nur eine halbe Stunde. Wenn man's anders möchte, könnte man mehrere solche Datums-Zeilen übereinander anordnen. Dann müsste die Methode zum Selektieren so funktionieren, wie beim Selektieren von Text in einem Textverarbeitungsprogramm.

Die eigentlich erste Idee mit der Uhr eignet sich gut zum Festlegen eines einzelnen Zeitpunkts, man kann die Zeiger einfach mit der Maus bewegen.

Clock Control - ein Steuerelement zum Anzeigen und Bearbeiten einer Uhrzeit

Nun viel Spass beim Ausprobieren und Grüße,
Fragen gerne per Mail an mich.

Thomas Bergner