在C#可执行文件中运行Form

时间:2013-01-14 14:28:04

标签: c# express

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

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

   Application.Run(f);
}

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

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

任何?

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

2 个答案:

答案 0 :(得分:0)

为什么要尝试创建相同表单的无限实例?

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

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

我将应用程序设置为休眠1秒,以显示它打开了一个新表单..

编辑:我检查了您的代码,当我尝试关闭应用时,它正在打开一个新表单.. 所以Hans说,虽然有一个表单实例,windows会将焦点设置在它上面......当你关闭它时,它会创建一个新的。

答案 1 :(得分: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();
}