Um ... that's some odd code.
string ageval = ((year - 1) + " years" + (-12 - months) + " months");
...
int value = int.Parse(ageval);
value = (ToString(txtAge.Text)) ;
So you load a string with a non-integer value deliberately, then try to convert that to an integer, which you then try to overwrite with a string-ified version of some random user input. And you are surprised when it fails? It won't even compile, unless your ToString method is very, very badly named!
Have a look at this:
Working with Age: it's not the same as a TimeSpan![
^] - it does all the "legwork" for you.