1

我想制作一个具有一个主窗体的应用程序,该主窗体具有一个功能 = 添加新窗体。

我不知道如何创建表单,它们是由用户动态创建的(主表单中的 AddForm 方法)。

所有的 subs 形式都是相同的,但他们的一些 prop 接收不同的参数(它可以在 ctor 或更高版本中)。

我希望在关闭主表单时能够关闭所有表单。

在显示新表单之前,我想显示设置表单(获取表单参数)可能使用 ShowDialog 方法并对表单进行验证检查,如果表单验证新表单将显示,如果没有(或者如果用户取消) 表格将被处理。

我知道 MDI,但我真的更喜欢其他方式

有任何想法吗?

谢谢!

4

2 回答 2

1

关闭主窗体时关闭所有窗体有点容易,您只需在“子”窗体的 Show() 方法中传递主窗体引用;例如,如果您从 main 中显示 child,您可以:

child.Show(this);

如果您的主窗体不是真正的“程序主窗体”,但您想关闭所有“子”窗体,则需要这样做。

然而,为了这个目的,最好在某个特殊的类中将所有这些连接在一起,可能称为 ScreenRepository。在此类中,您将随时拥有一组打开的表单,您会将表单创建推迟到此类(以便此类自动注入表单父级)等等......拥有此类将很容易重新激活(给焦点)如果表单落后于其他表单,则创建新表单等...

于 2011-06-16T08:44:30.157 回答
0

想法很简单,创建一个应用程序,首先打开一个主窗体,然后在需要时打开其他窗体,如果您关闭主窗体,其余窗体也将关闭。就像在 GIMP 中一样。

于 2011-06-16T08:26:00.897 回答