none
Monthcalender SelectionEnd liefert Zeit RRS feed

  • Frage

  • Hallo zusammen,

    ich stehe im Moment etwas auf dem Schlauch! Ich habe in einer Anwendung den Monthcalender eingesetzt und auf meinem Win7 läuft die Anwendung problemlos. Als ich nun die Anwendung auf einem XP System installiert habe, staunte ich nicht schlecht. Die Eigenschaft SelectionEnd liefert bei Win7 beim ersten mal Abfragen einen Wert OHNE Zeit. Sobald man nur einen anderen Tag auswählt, liefert diese auch eine Zeit. Auf dem XP wird aber NIE die Zeit mitgeliefert.

    Hier die Ausgabe unter XP

     Hier die Ausgabe unter Win7 direkt nach Anwendungsstart und ohne dass man den Tag im Kalender auswählt und rechts nun unter Win7 nachdem ein anderer Tag ausgewählt wird.

    Das ist für mich extrem ungünstig und ich weiss im Moment nicht wie ich das unterbinden kann. Jemand eine Idee?

    Beste Grüße
    David

    Sonntag, 25. November 2012 22:12

Antworten

  • Hallo David,

    ich kann es hier unter Windows 7 nachvollziehen.
    Nicht nur für SelectionEnd, auch SelectionStart nimmt gelegentlich (wenn auch seltener) die Zeit 23:59:59 an.

    Wobei das Verhalten nicht durchgängig ist, beim Wechseln zwischen zwei Tagen, findet man beim DateChanged Ereignis mal die eine oder andere Variante.

    Als Workaround: Um die Zeit loszuwerden, verwende zusätzlich die Date-Eigenschaft:

    Console.WriteLine("monthCalendar1_DateChanged {0} / {1}", 
        monthCalendar1.SelectionStart.Date, 
        monthCalendar1.SelectionEnd.Date);

    Gruß Elmar

    • Als Antwort markiert David Stania Sonntag, 25. November 2012 23:29
    Sonntag, 25. November 2012 22:46
    Beantworter

Alle Antworten

  • Hallo David,

    ich kann es hier unter Windows 7 nachvollziehen.
    Nicht nur für SelectionEnd, auch SelectionStart nimmt gelegentlich (wenn auch seltener) die Zeit 23:59:59 an.

    Wobei das Verhalten nicht durchgängig ist, beim Wechseln zwischen zwei Tagen, findet man beim DateChanged Ereignis mal die eine oder andere Variante.

    Als Workaround: Um die Zeit loszuwerden, verwende zusätzlich die Date-Eigenschaft:

    Console.WriteLine("monthCalendar1_DateChanged {0} / {1}", 
        monthCalendar1.SelectionStart.Date, 
        monthCalendar1.SelectionEnd.Date);

    Gruß Elmar

    • Als Antwort markiert David Stania Sonntag, 25. November 2012 23:29
    Sonntag, 25. November 2012 22:46
    Beantworter
  • Hallo Elmar,

    danke für die schnelle Antwort. Da bin ich - wie immer - nach dem Post auch drauf gekommen :-)

    Finde das Verhalten dennoch sehr "unschön", da man ja damit überhauptnicht rechnet. Zumindest ging es mir so.

    Gruß
    David

    Sonntag, 25. November 2012 23:02