关闭一个窗体然后调用另一个窗体我要关闭我正在使用的当前窗体(MainForm),然后打开第二个窗体(Form)。我试过了:privatevoidbuttonStartQuiz_Click(objectsender,EventArgse){this.Close();Form2form2=newForm2();form2.ShowDialog();}或添加this.Close();在form2.ShowDialog()中也不起作用。有小费吗?编辑:也可以通过在this.Close()之后添加this.Close()来添加。它仅在我关闭新表单时关闭。如果我选择form2.Show()它会立即关闭两个表单。更改this.Close();至:this.Hide();因为您不能关闭主应用程序窗口并希望应用程序在它之后运行。您必须隐藏主窗体或将主窗口更改为仍然打开的窗口。在这种情况下,您必须在ShowDialog()完成后关闭主窗口。然后你必须将这个按钮事件函数的this.Close()添加到你的代码中新代码是://显示其他表单Form2form2=newForm2();form2.ShowDialog();//关闭应用程序this.Close();您可以使用ApplicationContext,但.NET框架已经使用WindowsFormsApplicationBase类很好地支持这种窗口模式。只有在最后一个窗口关闭后,它的ShutdownStyle属性才能用于关闭程序。使Program.cs中的代码如下所示:使用System.Windows.Forms;使用Microsoft.VisualBasic.ApplicationServices;//添加对Microsoft.VisualBasic的引用!!namespaceWindowsFormsApplication1{classProgram:WindowsFormsApplicationBase{[STAThread]staticvoidMain(string[]args){varapp=newProgram();app.EnableVisualStyles=true;app.ShutdownStyle=ShutdownMode.AfterAllFormsClose;app.MainForm=newForm1();应用程序运行(参数);这对我来说很好......privatevoidbutton_Name_Click(objectsender,EventArgse){form_2Form2=newForm2();Form2.ShowDialog();这个。关闭();}Form2frm2=newForm2();frm2.ShowDialog();和这个。关闭();不是一个好的组合..frm2实际上会加载,但你甚至看不到它,因为this.Close();将在一毫秒内关闭每个表单...this.Hide();有效...只是启用或禁用表单本身而不是试图关闭。代码如下:this.enabled=false;在点击事件中或任何你想要的地方。希望能帮到你。只需更换this.Close();用这个。隐藏();它会完美地工作!您正在关闭表单,您必须先加载第二个表单。privatevoidbuttonStartQuiz_Click(objectsender,EventArgse){Form2form2=newForm2();form2.ShowDialog();这个。关闭();}this.Visible=false;Form2form2=newForm2();form2.ShowDialog();这个。关闭();新的播放()。显示();这个。处置();试试这个:btCancel.FindForm().Close();btcancel是放置在要关闭的表单上的按钮。把它放在主窗体中privatevoidmainform_FormClosed(objectsender,FormClosedEventArgse){Application.Exit();为我工作。以上就是C#学习教程:关闭窗体再调用另一个窗体,分享全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处:
