这是所涉及的事件处理程序的代码:
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
seed = Convert.ToInt32(this.Text);
}
catch (FormatException)
{
MessageBox.Show("Input string is not a sequence of digits.");
}
catch (OverflowException)
{
MessageBox.Show("The number cannot fit in an Int32.");
}
}
它应该确保用户不会Int32
在文本框中输入除允许的数字之外的任何内容,但是每次您尝试在框中输入任何内容时都会执行第一个 catch 语句。我环顾四周,但我似乎无法弄清楚为什么......