You et the exception, because the text in the TextBox9 does not fit the "country-rules" for a correct decimal number. Usually this happens, if the dot represents a thousand seperator and not the decimal point. Maybe you can use:
float number = float.Parse(TextBox9.Text, CultureInfo.InvariantCulture);
or
float number = float.Parse(TextBox9.Text, Thread.CurrentThread.CurrentUICulture);
To avoid the exception you can use:
float number;
if (!float.TryParse(TextBox9.Text, out number))
MessageBox.Show("Input must be a decimal number.");