我们可以在.Net Windows窗体的第一个窗体的同一窗口中打开第二个窗体吗?

时间:2019-07-29 08:56:13

标签: c# .net winforms

我们可以在Windows窗体(.net c#)中在第一个窗体的窗口(隐藏第一个窗体)上打开第二个窗体吗? 详细问题:假设我有A型表格。表单A上有一个我要打开表单B的单击的下一个按钮(在同一窗口中,隐藏表单A) 同样在Form-B上,我可以单击后退按钮,单击该按钮我们将获得上一个表单(在本例中为Form-A)。

我在MS访问中找到了这个。我们可以在.Net Windows窗体中实现吗?

2 个答案:

答案 0 :(得分:2)

您确定要对多个不同的Forms执行此操作吗?

使用WinForms,您可以实现此目的,例如单击“下一步”,隐藏当前表单,使其为FormA,并显示另一表单,使其为{{1}的FormB }}的位置。

FormA

private void buttonNext_FormA(object sender, EventArgs e) { frmB.StartPosition = FormStartPosition.Manual; frmB.Location = new Point(this.Location.X, this.Location.Y); frmB.Show(); } private void buttonBack_FormB(object sender, EventArgs e) { frmA.StartPosition = FormStartPosition.Manual; frmA.Location = new Point(this.Location.X, this.Location.Y); frmA.Show(); } 与导航 next-back-next 略有不同,但是通用的解决方案: 将TabControl放在您的TabControl上,在其下放置 Next Back Form。您可以在Buttons上添加多个Tabs,并且可以将TabControl内的任何Control放在Tabs上。 (要隐藏Tab标头,请设置以下属性):

Form

订阅,后退按钮单击和下一步按钮单击事件如下:

tabControl.Appearance = TabAppearance.FlatButtons;
tabControl.ItemSize = new Size(0, 1);
tabControl.SizeMode = TabSizeMode.Fixed;

但是您可以通过 WPF Windows Presentation Foundation NavigationWindow来实现,这也是一项很酷的技术,它正是为此目的而设计的。 有一个用于实现导航窗口的MSDN教程广告:here

答案 1 :(得分:0)

您有两种不同的形式,所以您可以做的是:

  • 单击Next中的Form-A按钮时,将显示Form-B,而Form-A隐藏。
  • 单击Previous中的Form-B按钮时,情况恰好相反。

使用Forms的ShowHide方法可以轻松实现。

  • 在“下一步”按钮中单击事件处理程序:
this.Hide();
FormB.Show();
  • 在“上一步”按钮中单击事件处理程序:
this.Hide();
FormA.Show();