主题:一个不知道怎么形容的弱智问题
private bool flag;
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar==(char) 13)
textBox2.Focus();
else if(e.KeyChar<'0'||e.KeyChar>'9')
{
MessageBox.Show("只能输入数字");
flag=false;
}
else
flag=true;
}
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
if(flag==false)
{
string s1;
s1=textBox1.Text;
[color=800000][size=4][u]flag=true[/u][/size][/color]
textBox1.Text=s1.Remove(s1.Length-1,1);
}
}
划线部分一旦删除,编译时在textBox1中输入数字,如果出现了非数字就会报"StartIndex 不能小于 0。"的错,但是s1的值是有的,为什么还会报这种错呢
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar==(char) 13)
textBox2.Focus();
else if(e.KeyChar<'0'||e.KeyChar>'9')
{
MessageBox.Show("只能输入数字");
flag=false;
}
else
flag=true;
}
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
if(flag==false)
{
string s1;
s1=textBox1.Text;
[color=800000][size=4][u]flag=true[/u][/size][/color]
textBox1.Text=s1.Remove(s1.Length-1,1);
}
}
划线部分一旦删除,编译时在textBox1中输入数字,如果出现了非数字就会报"StartIndex 不能小于 0。"的错,但是s1的值是有的,为什么还会报这种错呢