我用C#做个很简单的倒计时,在textBox1中输入数据m,然后利用timer1控件,就m--倒计时啊。运行报错:无法将类型“string”隐式转换为“int”。所有代码都在下面了。大哥大姐教教我吧。谢谢。
int m;private void textBox1_TextChanged(object sender, EventArgs e)
{
if(this.textBox1.Text != "")
{
m = this.textBox1.Text;
}
}private void timer1_Tick(object sender, EventArgs e)
{
m--;
this.label2.Text = m.ToString()+"秒";
label2.Refresh();
} private void button1_Click(object sender, EventArgs e)
{
this .timer1.Enabled =true;
}
int m;private void textBox1_TextChanged(object sender, EventArgs e)
{
if(this.textBox1.Text != "")
{
m = this.textBox1.Text;
}
}private void timer1_Tick(object sender, EventArgs e)
{
m--;
this.label2.Text = m.ToString()+"秒";
label2.Refresh();
} private void button1_Click(object sender, EventArgs e)
{
this .timer1.Enabled =true;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if(this.textBox1.Text != "")
{
m = Convert.ToInt32(this.textBox1.Text);
}
}private void timer1_Tick(object sender, EventArgs e)
{
m--;
this.label2.Text = m.ToString()+"秒";
label2.Refresh();
} private void button1_Click(object sender, EventArgs e)
{
this .timer1.Enabled =true;
}
{
m = this.textBox1.Text;
}
改成 m = Convert.ToInt32(this.textBox1.Text);
{
MessageBox.Show("textBox1中的数据不是合格的整型数据!");
return;
}
int.TryParse(textBox1.Text, out m);
{
MessageBox.Show("textBox1中的数据不是合格的整型数据!");
return;
}
int m;private void textBox1_TextChanged(object sender, EventArgs e)
{
if(this.textBox1.Text != "")
{
m = int.Parse(this.textBox1.Text);
}
}private void timer1_Tick(object sender, EventArgs e)
{
m--;
this.label2.Text = m.ToString()+"秒";
label2.Refresh();
} private void button1_Click(object sender, EventArgs e)
{
this .timer1.Enabled =true;
}
m=convert.ToInt32(this.textBox1.text);
是不对的
{
m = this.textBox1.Text;
}
m为int型,
this.textBox1.text需要强制类型转换下有int.parse
m=int.parse(this.textBox1.Text)
m = int.Parse(this.textBox1.Text.Trim());
忽略空格trim()
是否能转换int.TryParse(string,out m)
或者
m = Convert.ToInt32(textBox1.Text.Trim());
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
Convert.ToInt32(this.textBox1.Text);
TextBox里的值是string类型的 需要转换成 int型
楼上很多都已经给出代码
看不懂这句话的意思?
ToString() 是转换为字符串
{
m = this.textBox1.Text;
}
m要转化一下,改为
m = Convert.ToInt32(this.textBox1.Text);
Convert.toInt32
都可以
{
m = this.textBox1.Text;
}
改成 m = int.TryParse(this.textBox1.Text,out m);
Convert.ToInt32
Convert.ToInt32区别是什么?
{
if(this.textBox1.Text != "")
{
m =Convert.ToInt32( this.textBox1.Text); }
}private void timer1_Tick(object sender, EventArgs e)
{
m--;
this.label2.Text = m.ToString()+"秒";
label2.Refresh();
} private void button1_Click(object sender, EventArgs e)
{
this .timer1.Enabled =true;
}
Convert.ToInt32
这两种转换都OK
m = int.Parse(this.textBox1.Text);
{
m--;
this.label2.Text = m.ToString()+"秒";
label2.Refresh();
}
改成:
private void timer1_Tick(object sender, EventArgs e)
{
int a=int.Parse(m);
a--;
this.label2.Text = a.ToString()+"秒";
label2.Refresh();
}
注:m的值必须是数字,否则报错
textBox.text是string 类型
2.m = Convert.ToInt32(this.textBox1.Text)
2.m = Convert.ToInt32(this.textBox1.Text)