“包含”而不是ShowDialog()

时间:2016-04-05 08:50:19

标签: c# winforms

我正在尝试在Visual Studio 2015中制作WindowsFormApplication并需要一些帮助。 我一直在尝试在互联网上搜索答案,但可以找到如何执行以下操作:

我有两个窗口(解决方案?)。我用第一个按钮打开第二个窗口,其中包含以下代码:

.highlight pre {
  color: #C1C2C3;
  overflow-wrap: break-word;
}

我的问题是: 如何“包含”第二个窗口(如PHP中的“include”)而不是关闭第一个窗口然后打开下一个窗口,就像现在一样?

2 个答案:

答案 0 :(得分:1)

表单只是另一个控件。可以把它想象成一个容器(因为它拥有其他控件)。

用户控件也可以容纳多个控件。有一些方法可以在WinForms应用程序中的另一个窗口中显示一个窗口,但并不总能保证所需的效果。因此,最好将所有控件(例如,#34;第1页和第34页)放在名为" Page1"的用户控件中,然后在适当时添加该用户控件到Form,并将其Dock属性设置为Fill。

现在是时候展示另一个"页面",Hide();" Page1"和Show();" Page2&# 34。

答案 1 :(得分:0)

我认为你在谈论表单继承:

只需创建一个表单,我们将其称为frmBase。并在frmBase上添加一些控件,你也希望在其他表格上使用。

创建其他表单,我们将其称为frmDerived。

在frmDerived背后的代码中,只需执行以下操作:

// derive the frmDerived form from frmBase
public partial class frmDerived : frmBase
{
    public frmDerived()
    {
        InitializeComponent();
    }
}

然后只需检查frmDerived表单设计,它应该包含frmBase中的所有内容。

您可能希望将frmBase的某些控件的访问修饰符设置为Public,以便在frmDerived上访问它们。

我希望这会对你有所帮助。 :)