The value of menuitemno.Text is like 32.64 (having decimal), so it is not possible to convert decimal to integer using convert.toint.
Use Convert.ToInt64(Convert.ToDouble(menuitemno.Text)) for conversion.
To do this discounting rounding you could do:
Convert.ToInt64(Math.Floor(Convert.ToDouble(menuitemno.Text)));
If you need to round you could replace Math.Floor with Math.Round.
Convert.ToInt64(Math.Round(Convert.ToDouble(menuitemno.Text)));
if value of menuitemno.Text is empty or has invalid char than also the error may come.
If you are now allowing decimal place in the menuitemno.Text then use Int64.TryParse
menuitemno.Text?menuitemno.Text?