问题实际上是出在你的这段代码上Form1 f1 = new Form1();new Form1()的意思是在你的内存中新建一个类型为 Form1的对象而实际上你的内存中已经存在了一个类型为Form1的对象即当前窗体this, 当你调用f1.Close()的时候,只不过是关闭了刚才新建的类型为Form1的对象f1而已,而不是关闭当前窗体。因此,关闭当前窗体的办法只能是this.Close()(this可以省略);实际上在C#中很多方法和属性的使用上都是这个道理,而不仅仅是关闭窗体的Close()方法