如何在c#中定义一个文本框的计时器间隔

本文关键字:文本 一个 计时器 定义 | 更新日期: 2023-09-27 18:07:14

我正在学习c#,我正在编写一个简单的自动类型,我正试图使它使用户可以设置自己的间隔。我试着使用:

timer1.Interval = textbox1.Text;

但这似乎不起作用。我把代码放在一个按钮里。我怎么让它工作?为什么它不起作用?

如何在c#中定义一个文本框的计时器间隔

你可以这样写:

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;
}