如何在c#中定义一个文本框的计时器间隔
本文关键字:文本 一个 计时器 定义 | 更新日期: 2023-09-27 18:07:14
我正在学习c#,我正在编写一个简单的自动类型,我正试图使它使用户可以设置自己的间隔。我试着使用:
timer1.Interval = textbox1.Text;
但这似乎不起作用。我把代码放在一个按钮里。我怎么让它工作?为什么它不起作用?
你可以这样写:
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;
}
}
正如Steve在他的评论中提到的,您需要将回调函数连接到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)
}
try this:
Timer timer1 = new Timer();
timer1.Interval = int.Parse(textbox1.Text);
,但要记住用户必须输入一个数字,所以您可能需要处理用户输入错误数据的情况。
Edit: 您可以使用TryParse
来确保它是一个数字:
int myInt = 0;
Timer timer1 = new Timer();
bool parsed = int.TryParse(textbox1.Text,out myInt);
if (parsed)
{
timer1.Interval = myInt;
}