2013-05-12 14 views
5

Sto cercando di completare un programma di "dimostrazione dell'apprendimento" entro la mattina per la Festa della mamma. Ho creato una casella di testo per mia madre per inserire il mio compleanno e un'etichetta per visualizzare il numero di anni, mesi, giorni e secondi in cui sono stato in vita quando fa clic su un pulsante.Calcola # di Anni Vivi in ​​C# WinForm

Quello che segue è la parte del mio codice in cui mi sono bloccato:

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 

Come ho commentato nel codice, ho un blu ondulata sotto TimeSpan nell'ultima riga; ma non capisco perché. Che cosa sto facendo di sbagliato?

Sono solo uno studente: quindi ho il concetto ma non sono abituato ai formati datetime e ho bisogno di un piccolo aiuto.

+0

Questo è un regalo creativo per la festa della mamma! – J0e3gan

+0

Il codice non viene creato? Si verifica un'eccezione di runtime? Qualche informazione relativa al problema viene visualizzata quando si posiziona il puntatore del mouse sul blu ondulato? – J0e3gan

+2

Penso che potresti avere l'ultima riga logicamente all'indietro. Non vuoi assegnare una rappresentazione testuale di 'timeSpan = now - sonsBirthday' a' lblTimeAlive.Text'? – J0e3gan

risposta

6

provare qualcosa di simile:

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 

quindi regolare la stringa di formattazione per timeSpan.

+0

Grazie! Quell'altro ragazzo mi stava facendo impazzire per il fatto che stavo facendo i compiti (non è vero!) Sto solo cercando di creare un programma per mia madre per la festa della mamma! Grazie per l'aiuto. Posso fare tutto il resto che volevo fare ora. –

+2

@JeffOrris: No problemo. Come dico sempre, è la tua perdita se è per i tuoi compiti. L'idea non è quella di apprendere i dettagli che hanno senso in un particolare linguaggio/API/framework con cui stai lavorando come studente e come imparare a pensare in modo critico e come apprendere - a prosperare attraverso certi cambiamenti che sostituiranno i dettagli con nuovi. Prenderò la tua parola, però. ;) – J0e3gan

+0

Sfortunatamente "l'ultimo passaggio" è impossibile. Un anno non è un periodo di tempo prestabilito, dipende anche dal calendario utilizzato. – Aron