You're using Parse(), not TryParse(). And the error is because there is no 26th hour in .NET (also in our time). So when you pass 26:30 it throws error. You can however pass 26 as a minute, like this "00:26:30".
This[
^] documentation from MSDN has the examples of different string representations of the TimeSpan that you can pass. Let me write them here too.
string[] values = { "6", "6:12", "6:12:14", "6:12:14:45",
"6.12:14:45", "6:12:14:45.3448",
"6:12:14:45,3448", "6:34:14:45" };
So, you see, passing "26:30" would cause the .NET to think you're passing a 26th hour to it. I have created a dotnetfiddle for you test it,
here[
^] it is. You can see the third result in the console (bottom) it has the 26th minute kind of thing. In the third instance the minutes are 26. So using them in your code would return 26 minutes to your application.