我继承了我现在工作的上一个开发人员的应用程序框架。该框架利用多个父/子关系。在许多情况下,父/子/孩子出现。我问他为什么不使用MDI,并且他说多年前,当他开始时,MDI在前面提到的关系情景方面存在重大缺陷。特别是多个父母。
我的实际问题是; MDI还有这些缺点吗? &安培;那些与MDI合作的人,你有什么问题,你是如何克服它们的?
谢谢!
答案 0 :(得分:1)
我真的认为这是你继承的应用程序的一个缺点,它需要多个父母(你好紧密耦合的应用程序!)。
我曾经在一个应用程序上工作(敲木头,我不会很快回到支持它),这可能与你现在的很像。如果原作者只是使用代理而不是“this.Parent.Parent.Parent.functionX”,我们可能已经能够在修复该应用程序的缺点方面取得更大的进展(并且代理人可能还没有去过......)
至于MDI,我个人更喜欢它,但我不能代表原始开发人员发现的缺点,因为我试图设计他/她所需要的关系。
答案 1 :(得分:1)
贝
答案 2 :(得分:1)
MDI接口的一个问题是您无法在MDI容器中注册无限制的窗口(请参阅This Microsoft KB item)。我认为这是因为我看到很多MDI应用程序在大量使用时遇到了这个错误。
我通常喜欢SDI接口,并使它在多个“某事”实例上共享相同的控件和窗口,而不是为每个“某事”实例生成一个新窗口。
我不知道程序界面的具体细节,但我还没有找到一些无法重写SDI界面和一些模态对话框(如果真的需要)的东西。
答案 3 :(得分:0)
我确实在MDI中看到了一些故障,但说实话,如果你想要复杂的话,我可能会建议你看看WPF而不是winforms。
答案 4 :(得分:0)
听起来我需要进一步研究MDI。我对WPF的评论感到好奇,因为这与我迄今为止所教的内容相反。
此外,一个兴趣点,框架开发人员称他的架构HDI(主机文档接口)。
谢谢!
答案 5 :(得分:0)
当您打开无模式子屏幕且父屏幕已最大化时,您只能以最大尺寸打开子屏幕,而不能以正常大小的屏幕打开它。