有没有一种方法可以将Winforms窗体对象传递给包含选项卡控件的主窗体,并使主窗体将此窗体对象加载到其中一个选项卡中?
另一个问题是:该窗体对象将从与主窗体不同的线程实例化。
另一个问题是:该窗体对象将从与主窗体不同的线程实例化。
我认为当窗体在不同的线程上创建时,这种方法可能行不通。但是您通常可以通过将窗体的TopLevel属性设置为False,然后将其添加到选项卡页控件(或任何其他父控件)来实现。
编辑:您还需要将Visible属性设置为True,因为窗体默认情况下是隐藏的。
另外,我刚试了一下,对于从另一个线程创建的按钮之类的东西,这种方法确实可行。但是,当我使用窗体时,我收到了InvalidOperationException异常。
TabPage
的Controls
集合中调用Add
。您可能需要相应地设置Anchor
和Dock
属性,以便控件填充整个表面(假设这是您想要的)。