c#表格显示时间

时间:2017-02-21 23:40:29

标签: c# forms timing display

我有一个表单程序,显示两种形式。基本上form1隐藏form2,通过创建棋盘重建它的内容,然后显示form2。如果我一步一步走,一切都很好。我想运行几个hide-rebuild-show序列,并在form2的每个显示之间短暂停顿,这样我就可以验证它是否按预期工作。如果我在每个节目后放一个msgbox,我会看到正确绘制的form2。如果我在演出结束后暂停2秒(循环无效2秒),我会看到表格的轮廓,但是棋盘应该是一个开放的空间。我认为这是某种时间问题但不知道如何解决它。什么是短暂暂停的正确方法?

    private void Do1Bot()
    {  
        SetStart();
        for (int i = 1; i <= numsess; i++)
        {
            NextSess();
            Do1Sess();
            //MessageBox.Show("After do1 sess");  // Checkerboard appears in the middle of the form this way.
            //Wait(2);  // This way I get the form borders but a blank space in place of a checkerboard.
        }
    }

    private void Wait(int secs)
    {
        DateTime Tend = DateTime.Now.AddSeconds(secs);
        do { }             
        while (DateTime.Now < Tend);

    }

1 个答案:

答案 0 :(得分:0)

将Application.DoEvents()添加到等待循环(感谢Sam Axe)解决了这个问题。