0

application用这个概念设计了我的SDI,那就是Single Document Interface。我的应用程序的结构解释如下,

我的应用程序主要包括两个forms

  • Login Form
  • Main Form

登录表单:

显然,Login Form最初会被打开,它会要求user credentials,然后如果credential匹配,我会关闭,然后login form我会main form为用户显示。

主要形式:

实际上,main form由三个组成panels。第一个面板是dockked top,它将容纳menus第二个面板dockked right,它将容纳所有必要的按钮,例如,save等。第三个面板有点重要,它将容纳通过.deleteexitforms(Toplevel=false)menu


我的问题是,我的应用程序中有 100 多个表单,1.) 根据用户请求打开该面板内的所有表单是否有效。?[当用户单击右侧的退出按钮时,我会一一删除它们close] 2.) 实现行为是否像一个,有任何.? [因为在我的应用程序中,我只是在 a 中实现了这个概念]formspanelpanelSDIMDIdisadvantagesMDISDI

4

1 回答 1

0

我实际上只是重写了一个最初是 MDI 的应用程序(实际上和你的完全一样,带有登录和主表单),但我实际上取消了它并转移到多个独立的表单。

我的看法是,SDI(或 MDI)是一个很好的包含应用程序,其中所有内容都为用户逻辑布局,并且所有内容都可以立即访问。只要您同时打开可管理数量的接口,这一切都很好。如果您需要让用户同时打开多个窗口,尤其是当它们占用大量空间时,您可能会在尝试将所有窗口显示在一个表单中时遇到麻烦。

我还发现很多用户在处理图形数据时喜欢在一个屏幕上最大化视觉表示,并在另一个屏幕上保持工具不受干扰,这对于 MDI 或 SDI 应用程序来说可能很难做到(我的原因是使用独立表单重建我的应用程序)。

当然,你必须根据具体情况来看待这个问题。您可能有数百个可以同时打开的表单,但实际上,用户一次只能监视几个,并且一次只能处理一个,因此您必须问自己不是可以打开多少个表单,而是实际上将同时打开多少个表单。然后,也许您可​​以做出一个设计决定,只允许某些接口组合,或者设计您的应用程序,以便在给定容器中的任何时候都只能加载一定数量的接口。

我不确定这是否是您正在寻找的答案,但如果对此有明确的答案,或者至少有一些具体的指导方针,那么我也有兴趣了解它们。

于 2013-03-27T08:55:55.970 回答