По совету, который я получил из комментариев, и еще немного прибегая к помощи, я не нашел решения, очень похожего на фреймворк, поэтому я нашел грязную Select Case
, которая работает как шарм.
Select Case objSettings.TimeFormat
Case "m\:ss"
Return String.Format("{0}:{1:00}", Math.Floor(time.TotalMinutes), time.Seconds)
Case "m\:ss\.f"
Return String.Format("{0}:{1}", Math.Floor(time.TotalMinutes), time.ToString("ss\.f"))
Case "m\:ss\.ff"
Return String.Format("{0}:{1}", Math.Floor(time.TotalMinutes), time.ToString("ss\.ff"))
Case "mm\:ss"
Return String.Format("{0:0#}:{1:00}", Math.Floor(time.TotalMinutes), time.Seconds)
Case "mm\:ss\.f"
Return String.Format("{0:0#}:{1:00}", Math.Floor(time.TotalMinutes), time.ToString("ss\.f"))
Case "mm\:ss\.ff"
Return String.Format("{0:0#}:{1:00}", Math.Floor(time.TotalMinutes), time.ToString("ss\.ff"))
Case "hh\:mm\:ss"
Return String.Format("{0:0#}:{1}", Math.Floor(time.TotalHours), time.ToString("mm\:ss"))
Case "hh\:mm\:ss\.f"
Return String.Format("{0:0#}:{1}", Math.Floor(time.TotalHours), time.ToString("mm\:ss\.f"))
Case "hh\:mm\:ss\.ff"
Return String.Format("{0:0#}:{1}", Math.Floor(time.TotalHours), time.ToString("mm\:ss\.ff"))
Case Else
Return time.ToString(objSettings.TimeFormat)
End Select