我正在尝试运行这样的代码:
while (true)
{
counter++;
Form f = new Form1();
Application.Run(f);
}
一个无限循环,用于配置基于Form1
类的Form
类,并使用Form
命令运行此Application.Run
。
问题在于,我第一次可以看到Form
,但在循环的下一次迭代中,表单不可见。
任何?
但是,第一次进入下一次表格出现的循环之间有什么区别? 为什么第一次没有变量范围问题? 此外,在循环的每个新迭代中,我创建一个新的Form1变量。
答案 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();
}