2013-05-12 7 views
5

Ich versuche, eine schnelle "Demonstration des Lernens" Programm am Morgen zum Muttertag zu beenden. Ich habe eine Textbox für meine Mutter erstellt, um meinen Geburtstag und ein Etikett einzutragen, um die Anzahl der Jahre, Monate, Tage und Sekunden anzuzeigen, in denen ich noch lebe, wenn sie auf einen Knopf klickt.Berechne # von Jahren lebend in C# WinForm

Im Folgenden ist der Teil meines Code, wo ich stecke:

private void button1_Click(object sender, EventArgs e) 
{ 
    DateTime sonsBirthday = DateTime.Parse(txtSonsBirthday.Text).Date; 

    DateTime now = DateTime.Now; 

    TimeSpan timeSpan = now - sonsBirthday; 
    timeSpan = Convert.TimeSpan(lblTimeAlive); // blue squiggly under TimeSpan here 

Wie ich in dem Code kommentiert, erhalte ich ein blaue Wellenlinie unter TimeSpan in der letzten Zeile; aber ich verstehe nicht warum. Was mache ich falsch?

Ich bin nur ein Student: so habe ich das Konzept, bin aber nicht zu datetime-Formate gewöhnt und brauche ein wenig Hilfe.

+0

Jetzt ist das ein erfinderisches Geschenk des Mutter Tages! – J0e3gan

+0

Wird der Code nicht erstellt? Tritt eine Laufzeitausnahme auf? Werden Informationen zu dem Problem angezeigt, wenn Sie den Mauszeiger über den blauen Squiggly bewegen? – J0e3gan

+2

Ich denke, dass Sie die letzte Zeile logisch rückwärts haben können. Möchten Sie nicht eine Textdarstellung von 'timeSpan = now - sonesBirthday' zu' lblTimeAlive.Text' zuordnen? – J0e3gan

Antwort

6

versuchen, etwas wie folgt aus:

private void button1_Click(object sender, EventArgs e) 
{ 
    DateTime sonsBirthday = DateTime.Parse(txtSonsBirthday.Text).Date; 

    DateTime now = DateTime.Now; 

    TimeSpan timeSpan = now - sonsBirthday; 
    //timeSpan = Convert.TimeSpan(lblTimeAlive); // old 
    lblTimeAlive.Text = timeSpan.ToString(); // new 

dann die Feinabstimmung der String für timeSpan Formatierung.

+0

Danke! Dieser andere Typ hat mich geärgert, dass ich Hausaufgaben mache (SCHWER, IST ES NICHT!) Ich versuche nur ein Programm für meine Mutter zum Muttertag zu erstellen! Danke für Ihre Hilfe. Ich kann alles andere machen, was ich jetzt machen wollte. –

+2

@ Jeff Orris: Kein Problem. Wie ich immer sage, es ist dein Verlust, wenn es um deine Hausaufgaben geht. Die Idee ist nicht, Details zu lernen, die in der jeweiligen Sprache/API/dem Framework, mit dem Sie als Student arbeiten, sinnvoll sind, sowie zu lernen, kritisch zu denken und zu lernen - durch bestimmte Veränderungen zu gedeihen, die die Details ersetzen neue. Ich werde jedoch dein Wort nehmen. ;) – J0e3gan

+0

Leider ist der "letzte Schritt" unmöglich. Ein Jahr ist kein fester Zeitraum, es hängt auch davon ab, welchen Kalender Sie verwenden. – Aron