在C#中切换表单的最佳方法是什么?
场景:我想单击Form1中的按钮,终止现有的Form1并创建Form2。 我怎样才能做到这一点?
如果有人甚至可以比较Winforms与WPF中此任务的复杂性,我将非常感激。
答案 0 :(得分:4)
最简单的方法是使用控制功能打开两个表单。单击第一个表单上的按钮时,将其关闭并移动到第二个表单上。
using (var form1 = new Form1() ) {
form1.ShowDialog();
}
using (var form2 = new Form2()) {
form2.ShowDialog();
}
WPF的代码类似。最大的区别是WPF窗口(以及几乎所有类作为规则)都没有实现IDisposable,因此不需要using语句。
var win1 = new Window1();
win1.ShowDialog();
var win2 = new Window2();
win2.ShowDialog();
答案 1 :(得分:1)
当然,关闭当前表单,创建新表单的实例并显示它只是一个非常直接的问题?以下代码(在您的情况下在Click事件处理程序下)应该在WinForms或WPF中工作。
this.Close();
(new Form2()).Show();
我在这里错过了什么吗?