C# 如果我在循环中打开表单,它就赢了';不显示

C# 如果我在循环中打开表单,它就赢了';不显示,c#,forms,loops,C#,Forms,Loops,我尝试重新创建一种情况,你按下按钮,第二种形式包括每隔几秒钟显示一段视频。如果我离开循环,表单会按它应该的方式显示,但一旦我循环它,我就什么也得不到,只是任务栏中的额外程序,但它们不会显示 我的问题是:如果我能够循环程序,那么当我点击按钮时,表单每隔几秒钟就会弹出一次,我如何才能做到这一点 带按钮的表格1: private void button1_Click(object sender, EventArgs e) { int loop = 0; while (loop <

我尝试重新创建一种情况,你按下按钮,第二种形式包括每隔几秒钟显示一段视频。如果我离开循环,表单会按它应该的方式显示,但一旦我循环它,我就什么也得不到,只是任务栏中的额外程序,但它们不会显示

我的问题是:如果我能够循环程序,那么当我点击按钮时,表单每隔几秒钟就会弹出一次,我如何才能做到这一点

带按钮的表格1:

private void button1_Click(object sender, EventArgs e)
{
    int loop = 0;
    while (loop < 10)
    {
        var myForm = new Form2();
        myForm.Show();
        Thread.Sleep(15000);
    }
}
private void按钮1\u单击(对象发送者,事件参数e)
{
int循环=0;
while(循环<10)
{
var myForm=new Form2();
myForm.Show();
睡眠(15000);
}
}

最终的结果是无休止地重复表单,每次表单2部署和可见时。

Thread.Sleep
使线程睡眠,因此不执行呈现表单所涉及的UI工作。为什么要使用
线程睡眠
?如果你想让它在第一个窗体加载和运行时等待,你可以使用
Task()
来避免用
thread.Sleep()阻塞它的线程。Sleep()
如果我去掉Sleep,它会用窗体将我的计算机垃圾处理掉。在它打开另一个窗体之前,我需要一个延迟使用
计时器
,然后代替while循环,让它在15秒的间隔内勾选10次。它会发出垃圾邮件,因为你从未达到10次,因为你从未增加循环。
Thread.Sleep
会使线程休眠,因此不会执行呈现窗体所涉及的UI工作。为什么要使用
线程睡眠
?如果你想让它在第一个窗体加载和运行时等待,你可以使用
Task()
来避免用
thread.Sleep()阻塞它的线程。Sleep()
如果我去掉Sleep,它会用窗体将我的计算机垃圾处理掉。在它打开另一个窗体之前,我需要一个延迟使用
计时器
,然后代替while循环,让它在15秒的间隔内勾选10次。它会发出垃圾邮件,因为你永远不会达到10,因为你永远不会增加循环。