use
DateTime.ParseExact [
^]
try like this
string date = "7-24-2016";
string strmonth = int.Parse( date.Split('-')[0]).ToString("00");
string strday = int.Parse(date.Split('-')[1]).ToString("00");
string stryear = date.Split('-')[2];
string strDate = string.Format("{0}-{1}-{2}", strmonth, date, stryear);
DateTime dt = DateTime.ParseExact(strDate ,"dd-mm-yyyy",System.Globalization.CultureInfo.InvariantCulture);
int year = dt.Year;
int month = dt.Month;
int day = dt.Day;
if you need only the year from the textbox and dont need the datetime object, you shall use this
string date = "7-24-2016";
int year = int.Parse( date.Split('-')[2]);