DateTime um einen Tag erhöhen



  • Hallo,
    und zwar möchte ich das Datum einer DareTime variable per Buttonklick erhöhen.

    Wie stell ich das am dümmsten an?

    Versucht habe ich es mit:

    DateTime dt = DateTime.Parse(textBox14.Text);
    dt.AddDays(1);
    

    Aber das scheint so nicht zu funktionieren. Hoffe mir kann jemand weiterhelfen.



  • Hallo,

    schon gelesen:

    Diese Methode ändert den Wert dieser DateTime nicht. Stattdessen wird eine neue DateTime zurückgegeben, deren Wert das Ergebnis dieser Operation ist.

    ?

    MfG,

    Probe-Nutzer



  • Ja fiel mir eben auch auf. Danke 🙂

    Hab an der Stelle noch ein Problem, und zwar gebe ich das Datum in einer Textbox aus. Wie kann ich das Datum solang erhöhen bis der Button nicht mehr geklickt ist?



  • inflames2k schrieb:

    Ja fiel mir eben auch auf. Danke 🙂

    Hab an der Stelle noch ein Problem, und zwar gebe ich das Datum in einer Textbox aus. Wie kann ich das Datum solang erhöhen bis der Button nicht mehr geklickt ist?

    In welchem Intervall soll sich das Datum denn erhöhen? Du kannst natürlich eine Schleife durchlaufen lassen, die ein boolean prüft und mit dem Button dann den boolean Wert umschalten. Allerdings dürftest du dann nach kurzer zeit Äonen vorwärts gekommen sein. Wofür brauchst Du das denn?



  • Alles in allem ist es für eine Anwendung, wo bestimmte Stördaten eingetragen werden. Dort soll eben per Button die möglichkeit bestehen das Datum zu erhöhen / senken.

    Funktioniert nun an sich auch ganz gut, aber ich kann vom letztendlich Anwender nicht erwarten das er 100 mal den Button klickt um zum Wunschdatum zu kommen.



  • Hallo,

    also ich würds so in der Art machen:

    private void button1_MouseUp(object sender, MouseEventArgs e)
    {
            pressed = false;
    }
    
    private void button1_MouseDown(object sender, MouseEventArgs e)
    {            
            pressed = true;
    
            do
            {
                    // Datumszeugs dann hier...
    
                    Thread.Sleep(100);
                    this.Refresh();
                    Application.DoEvents();
            } while (pressed);
    }
    

    also mit MousDown bzw. MouseUp Events arbeiten... Das Sleep dann so wie dus brauchst... hoffe es hilft weiter...

    Grüße, Papa



  • Hmm... wenn es nur um die Auswahl eines beliebigen DAtums geht, verwende doch einen DateTimePicker...



  • Naja der DateTime-Picker an sich währe die beste Wahl aber es wird über einen Touchscreen gearbeitet, wo die Fettpfoten von jedem passen müssen. - Werd denk ich die erste Variante umsetzen.



  • kann man den DTP nicht skalieren? Wenn du ihn groß genug machst, müsste es doch gehen...



  • Naja mit Thread.sleep würde ich das nicht machen weil das behindert einfach mal alle Threads die gerade unterwegs sind. ist unsauber. Da würde ich eher einen Timer verwenden.
    Das mit dem pressed = true würde ich so lassen, nur würde ich dann da einen timer einsetzen.


Anmelden zum Antworten