Я вижу, что вы нашли решение, но вы действительно хотите использовать:
if (string.IsNullOrEmpty(nameTextBox.Text)){ nameTextBox.Text = "0"; }
, чтобы заполнить ноль, и после этого использовать int.TryParse вместо int.Parse:
int n;
if(!int.TryParse(nameTextBox.Text, out n))
{
//handle failed parse
}
...
таким образом вы избежите возможных исключений, когда невозможно целочисленное преобразование (например, введена буква)