Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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# 消息框多次弹出_C#_Wpf_Postgresql_Timer_Messagebox - Fatal编程技术网

C# 消息框多次弹出

C# 消息框多次弹出,c#,wpf,postgresql,timer,messagebox,C#,Wpf,Postgresql,Timer,Messagebox,我有以下代码,timerStart方法每秒调用一些函数,问题是当checkSigning方法中的条件为true时,弹出窗口会多次出现。。我怎么可能解决这个问题?有人能帮我吗:你可以在执行滴答声的同时停止计时器,然后在最后再次启动它。你唯一的缺点是,在你完成UpDeaTimeReTimk执行的那一刻,时间将被测量,但是你也可以认为它是一个好处。 private void updaterTimer_Tick(object sender, EventArgs e) { updaterTimer

我有以下代码,timerStart方法每秒调用一些函数,问题是当checkSigning方法中的条件为true时,弹出窗口会多次出现。。我怎么可能解决这个问题?有人能帮我吗:你可以在执行滴答声的同时停止计时器,然后在最后再次启动它。你唯一的缺点是,在你完成UpDeaTimeReTimk执行的那一刻,时间将被测量,但是你也可以认为它是一个好处。
private void updaterTimer_Tick(object sender, EventArgs e)
{
    updaterTimer.Stop();
    Time.Content = "Time : " + DateTime.Now.ToLongTimeString();
    exist = saved_settings();
    if (exist)
    {
        settingForToday();
        checkSigningAvailable();
        setSigning(signingAvailable = getSigning());
    }
    else
    {
        ongoing.Content = "Event : No Event";
        sign_in.Content = "Sign-in Time : ";
        sign_out.Content = "Sign-out Time : ";
    }
    updaterTimer.Start();
}

您可以尝试在输入
disableSigningOut()
时设置一个标志,并在退出该方法时清除它。然后在方法的开头添加一个检查(在设置标志之前),如果标志已经设置,则终止。感谢您的回答,我将尝试:)它不起作用:<您能让我成为您想要的标志吗?其他信息:如果我有标签,如果我停留在主页标签中,它会弹出一次,但是,当我切换到不同的标签,而条件还不是真的,这是当它弹出不止一次
private void updaterTimer_Tick(object sender, EventArgs e)
{
    updaterTimer.Stop();
    Time.Content = "Time : " + DateTime.Now.ToLongTimeString();
    exist = saved_settings();
    if (exist)
    {
        settingForToday();
        checkSigningAvailable();
        setSigning(signingAvailable = getSigning());
    }
    else
    {
        ongoing.Content = "Event : No Event";
        sign_in.Content = "Sign-in Time : ";
        sign_out.Content = "Sign-out Time : ";
    }
    updaterTimer.Start();
}