You have a couple of things going on here. First is that you're using the + operator on strings, which is going to concatenate them as strings instead of sum them as numbers. So you need to convert them to numbers first.
Of course, that might get a little bloated with all of these text boxes. But it sounds like you have some business logic which may make it easier. You don't need to force the text boxes to display a 0, but you can default their value to 0 in the absence of a valid value.
You can start by creating a simple extension method for TextBox to get its numeric value, or a default of 0. Something like this:
public static double GetAmount(this TextBox t)
{
double result = 0;
double.TryParse(t.Text, out result);
return result;
}
For any given TextBox you can now easily get the numeric value with:
amount1TextBox.GetAmount();
This also means that you can sum them instead of concatenating them, and you don't need to convert the sum to a double because the amounts are already doubles. So you can do something as simple as this:
amount = amount1TextBox.GetAmount() +
amount2TextBox.GetAmount() +
//...
amount10TextBox.GetAmount();