0

我正在尝试运行这样的代码:

while (true)
{ 
   counter++;
   Form f = new Form1();

   Application.Run(f);
}

一个无限循环,它配置一个Form1基于类并使用命令Form运行它的类。FormApplication.Run

问题是我第一次可以获得Form可见的,但是在循环的下一次迭代中,表单是不可见的。

任何人?

但是,第一次进入Form出现的循环和下一次有什么区别呢?为什么第一次没有变量范围问题?此外,在循环的每次新迭代中,我都会创建一个新的 Form1 变量。

4

2 回答 2

0

为什么不喜欢:

private void Form1_Load(object sender, EventArgs e)
{
    Thread p = new Thread(showform);
    p.Start();
}

private void showform()
{
    Form1 f = new Form1();
    f.Show();
}
于 2013-01-14T14:51:37.337 回答
0

你为什么要创建相同形式的无限实例?

无论如何,这是你想要得到的吗?检查此代码

while(true){
       new Form1().show();
       System.Threading.Thread.Sleep(1000); 
}

我将应用程序设置为休眠 1 秒,以向您显示它正在打开一个新表单。

编辑:我检查了你的代码,当我试图关闭应用程序时,它正在打开一个新表单。正如汉斯所说,当有一个表单实例时,窗口会将焦点设置在它上面。当你关闭它时,它会创建一个新的。

于 2013-01-14T14:45:38.610 回答