2010-04-12 3 views
-1

я хотел бы показать TimeSpan в MessageBox, но я получаю сообщение об ошибке:MessageBox.Show (TimeSpan)

DateTime date1 = new DateTime(byear, bmonth, bday, 0, 0, 0); 
DateTime datenow = DateTime.Now; 
TimeSpan age = datenow - date1; 
MessageBox.Show(ToString(age)); 

Error 1 No overload for method 'ToString' takes '1' arguments

Как вывести в MessageBox с TimeSpan?

+1

MessageBox.Show (age.ToString()); –

ответ

1

или вы можете сделать Convert.ToString(age) сохранить в формате, что у вас есть сейчас.

11
MessageBox.Show(age.ToString()); 

Возможно, вам не понравился результат. Если вам нужен конкретный формат, вы должны его реализовать самостоятельно.

+1

изменить/сейчас/->/нет / – ChrisF

3

Это не выглядит великолепно, TimeSpan не хватает достойного ToString() переопределения на .NET 3.5 и ранее. Работайте с этим методом DateTime.ToString():

string txt = new DateTime(Math.Abs(age.Ticks)).ToString("h:mm:ss"); 
    if (age.Ticks < 0) txt = "-" + txt; 
    MessageBox.Show(txt);