int.Parse (string s) метод преобразует строку в целое число.
Если строка s имеет значение null, будет выброшено исключение ArgumentNullException.
Если строка s отличается от целочисленного значения, то будет выдано исключение FormatException.
Если строка s представляет из целочисленных диапазонов, то она выдаст OverflowException.
Может быть, значение, которое вы передаете в текстовое поле, может иметь значение, отличное от целочисленного, поэтому его givin FormatException.
Попробуйте использовать: int.TryParse (TxtMaths.Text), он также не выдаст ошибку в вышеприведенном сценарии, он просто попытается проанализировать значение, если ему не удастся проанализировать, он вернет нулевое значение, а не исключение.
Для получения более подробной информации, пожалуйста, обратитесь по ссылке ниже: https://www.codeproject.com/Tips/845439/Difference-between-int-Parse-Convert-ToInt-and-int