我正在学习C#,我正在编写一个简单的汽车大小写,而我正努力让它变得如此用户'可以设置自己的间隔。我尝试使用:
timer1.Interval = textbox1.Text;
但这似乎并没有奏效。我把那个代码放在一个按钮里......我怎么能让它工作?为什么它不起作用?
答案 0 :(得分:5)
您可以使用以下内容:
int value;
// if it is really a value
if (int.TryParse(textbox1.Text, out value))
{
// if the value is not negativ (or you can enter the lower boundary here)
if (value > 0)
{
timer1.Interval = value;
}
}
正如史蒂夫在评论中提到的,你需要将一个回调函数连接到timer1.Elapsed
事件(注意:事件的名称因你使用的计时器而异。也可能是timer1.Tick) 。您可以使用以下代码执行此操作:
timer1.Elapsed += TimerElapsedCB;
你需要自己定义回调函数:
private void TimerElapsedCB(object sender, ElapsedEventArgs e)
{
// Do something here ;-)
// (e.g. access the signal time by using e.SignalTime)
}
答案 1 :(得分:3)
试试这个:
Timer timer1 = new Timer();
timer1.Interval = int.Parse(textbox1.Text);
但请记住,用户必须输入一个数字,因此您可能需要在用户输入错误数据时处理该情况。
编辑:
您可以使用TryParse
来确保它是一个数字:
int myInt = 0;
Timer timer1 = new Timer();
bool parsed = int.TryParse(textbox1.Text,out myInt);
if (parsed)
{
timer1.Interval = myInt;
}