2008-12-16 190 views
3

我已經繼承了我現在工作的以前的開發人員的應用程序框架。該框架利用了多個父母/子女關係。在許多情況下,父母/父母/孩子出現。我問他爲什麼不使用計量吸入器,他說,多年前,當他開始使用時,計量吸入器在前面提到的關係情況中存在重大缺陷。特別是與多個家長。MDI優點和缺點

我的實際問題是; MDI是否仍然有這些缺點? &那些與MDI合作過的人,你有什麼問題,你是如何克服它們的?

謝謝!

回答

1

一個與MDI接口問題是,你不能在您的MDI容器內登記無限窗口的反正(見This Microsoft KB item)。以爲我發佈了這個,因爲我看到許多MDI應用程序在大量使用時遇到該錯誤。

我通常喜歡一個SDI接口,並使它在'某些'的多個實例上共享相同的控件和窗口,而不是爲每個'something'的實例產生一個新的窗口。

我不知道程序界面的細節,但我還沒有找到不能重寫到SDI界面和一些模態對話框(如果真的需要)的東西。

0

我當然在MDI中看到過一些小故障,但說實話我可能會建議看WPF而不是winforms,如果你想要一些複雜的東西。

+0

絕對不復雜。我的應用程序真的是一個榮耀的數據錄入和檢索應用程序。另外我對你的WPF聲明感興趣,因爲我一直認爲WPF不是表單的理想選擇。這不再是這種情況嗎?這裏相當環保的開發商,請原諒無知。 – 2008-12-16 20:53:15

1

我真的認爲這是你繼承的應用程序的一個缺點,它需要多個父母(你好緊密耦合的應用程序!)。

我曾經在一個應用程序(敲木頭,我不會再回到支持它的任何時間),這可能很像你的現在。如果原作者只是簡單地使用代表而不是「this.Parent.Parent.Parent.functionX」,我們可能會在修復該應用程序的缺點方面取得更大的進展(並且代表甚至可能還沒有走完......) 。

至於MDI,我個人更喜歡它,但我不能說出原來的開發者發現的缺點,因爲我試圖圍繞他/她需要的關係進行設計。

1

當然,所有的MDI都是在一個地方包含應用程序的所有窗口的方式。現在,如果你的應用程序是一個應用程序,它有多個文檔,人們使用它,並希望在不使用時將它「放」出來,那麼MDI可能適合你。如果不是,那麼不是。

託尼

0

這聽起來像我需要進一步調查MDI。我很好奇WPF的評論,因爲這與我迄今爲止所教的內容相悖。

此外,感興趣的一點是,框架開發人員稱他的架構HDI(主機文檔接口)。

謝謝!