Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#如果显示messagebox,则停止计时器_C#_Timer - Fatal编程技术网

C#如果显示messagebox,则停止计时器

C#如果显示messagebox,则停止计时器,c#,timer,C#,Timer,当我在一个文本框上写错东西并点击一个按钮时,一个消息框会弹出,并且会一直弹出,因为我有一个计时器 所以我想做一个if语句,如果显示messagebox,那么停止计时器,直到再次单击按钮 我试着用这个: private void button1_Click(object sender, EventArgs e) { timer1.Start(); if (errormsg) { timer1.Stop();

当我在一个文本框上写错东西并点击一个按钮时,一个消息框会弹出,并且会一直弹出,因为我有一个计时器

所以我想做一个if语句,如果显示messagebox,那么停止计时器,直到再次单击按钮

我试着用这个:

private void button1_Click(object sender, EventArgs e)
    {

        timer1.Start();
        if (errormsg)
        {
            timer1.Stop();
        }
        data();

    }
    private void data()
    {
     //code
下面是我的计时器1代码:

 private void timer1_Tick(object sender, EventArgs e)
    {
        int value;

        if (int.TryParse(textBox1.Text, out value))
        {
            if (value > 0)
            {
                timer1.Interval = value;
            }
        }
        button1.PerformClick();
    }
以下是错误消息:

private void errormsg()
    {
        MessageBox.Show("Sorry, there was an error. Please, try again.");
    }
我还要注意,我在//代码的else语句中使用了
errormsg

//code
    else
            {
                errormsg();
            }
所以我的问题是:


如果我的文本框(//代码)上显示了错误的值,导致出现messagebox,如何使计时器停止。然后,当文本框上显示正确的值时,我单击该按钮,计时器将再次启动?

在errormsg()函数中停止计时器。当您单击按钮1时,它会再次启动

private void button1_Click(object sender, EventArgs e)
    {
        timer1.Start();
        data();
    }

private void errormsg()
    {
        timer1.stop();
        MessageBox.Show("Sorry, there was an error. Please, try again.");
    }