Hallo,
Ich habe gerade ein kleines Problem.
Ich möchte das man in 2 Textboxen jeweils Minuten und Stunden eingeben kann und diese dann auf die aktuelle Zeit addiert werden.
Aber es wird irgendwie immer nur die aktuelle Zeit ausgegeben.
private void button1_Click(object sender, EventArgs e)
{
jetzt = DateTime.Now;
if (textBox1.Text != "" && textBox2.Text != "")
{
serntestd1 = textBox1.Text;
erntestd1 = Convert.ToInt32(serntestd1);
serntemin1 = textBox2.Text;
erntemin1 = Convert.ToInt32(serntemin1);
}
else
{
if (textBox1.Text == "")
{
textBox1.Text = "00";
erntestd1 = 0;
}
if (textBox2.Text == "")
{
textBox2.Text = "00";
erntemin1 = 0;
}
}
endzeiternte1 = DateTime.Now;
endzeiternte1.AddHours(erntestd1);
endzeiternte1.AddMinutes(erntemin1);
label14.Text = string.Format("{0:G}", endzeiternte1);
}
Hi,
du erhälst über die "Add..."-Methoden ein neues DateTime Objekt, welches die neuen Daten enthält.
Du brauchst also:
endzeiternte1 = endzeiternte1.AddHours(erntestd1);
Hallo,
die AddHour/Minute-Methode geben ein neues DateTime zurück das du aber nicht verwendest 😉 (hat auch Sarc schon geschrieben)
BTW: Statt Convert.ToInt32 wäre die Verwendung von int.TryParse
besser/sicherer.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Funktioniert .
Vielen dank 😃
EDIT:
@ gfoidl
Danke für den Tipp . Ich werde auch mal mein Lehrer drauf ansprechen.
Ich hab nochmal ebend eine Frage. Ich hab jetzt einen Coundowntimer geschrieben und möchte das der Timer(Also der System.Windows.Forms.Timer) gestoppt wird wenn mein Countdowntimer auf Null steht.
Ich hab es schon mit if Abfragen versucht aber das funktioniert noch nicht so richtig.
Sry für die doofen Fragen. Ich arbeite heute zum ersten mal mit DateTime und TimeSpan usw.
private void timer1_Tick(object sender, EventArgs e)
{
span1 = (DateTime.Now - endzeiternte1);
label20.Text = string.Format("{0:hh} : {0:mm}", span1);
}
Hallo,
du kannst einfach abfragen ob deine EndZeit kleiner ist als die aktuelle Zeit.
Also
if(DateTime.Now >= endzeiterne1)
timer1.Stop();
Bitte beachte [Hinweis] Wie poste ich richtig? 1.1 und 1.1.1
Gruss
Michael