我是C#的新手,我正在尝试了解计时器功能.. 我制作了一个标签,一个文本框和一个按钮,还添加了一个计时器。
我将int设置为1000 = 1秒。
我希望能够在文本框中输入一个值,即5 然后计时器将其用作每个刻度之间的间隔。
由于某种原因,它说“不能隐式转换类型”字符串为int“
我不知道如何将字符串转换为int ..
任何例子?会帮到我这么多!
namespace Clicker
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int count = 0;
int interval = 1000;
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
interval = textBox1.Text;
}
private void timer1_Tick(object sender, EventArgs e)
{
count++;
label1.Text = count.ToString();
}
}
}
答案 0 :(得分:5)
interval = textBox1.Text;
interval是一个整数,textBox1.Text是一个字符串。 你必须解析像:
这样的值interval = int.Parse(textBox1.Text)
或者更好地使用int.TryParse!
你也可以在这里找到: String to Integer
答案 1 :(得分:0)
错误是不言自明的。您正尝试将string
分配给int
。具体来说,在这一行:
interval = textBox1.Text;
您需要使用Int32.Parse()
方法转换string
数据:
interval = Int32.Parse(textBox1.Text) * 1000;
话虽如此,您实际上并没有使用interval
变量。您需要在启动计时器之前分配计时器的Interval
属性:
interval = Int32.Parse(textBox1.Text) * 1000;
timer1.Interval = interval;
timer1.Start();
答案 2 :(得分:0)
interval
is of type int
. The property Text
on the TextBox
control is a string
.
You need to convert/parse the value to an int
to use it e.g:
int userInput = 0;
if(Int32.TryParse(textBox1.Text, out userInput))
{
interval = userInput;
}
else
{
// Input couldn't be converted to an int, throw an error etc...
}