2011-03-17 51 views
1

我們有一個帶多個孩子的MDI表格,標題欄中的標準關閉窗口按鈕以及相同的附加控件。如何在MDI父窗體上實現用戶確認退出?

我們使用父的FormClosing事件處理程序繼續之前拿到出口的用戶確認,但剛剛發現,這是運行前的子窗口關閉掉。我們只需要一個確認消息框,但我想這會要求子窗口要求父母確認。

有沒有人有一個乾淨的解決方案,這還是我去我的預感?

回答

0

聽起來像你的預感是正確的,我能想到的唯一的改進可能是在創建時將每個子窗體包裝到門面中,然後該門面可以將子關閉事件導回到父窗體用於驗證(僅一次)。

你也可以使用委託,但我認爲一個門面是清潔的。

+0

非常感謝 - 你的意思是裝飾,而非門面? – boycy 2011-03-21 10:00:59

+0

是的,我永遠無法得到我的模式。 Decorator模式可能會比Facade模式更好地工作。在我的辯護中,當我寫這些時,我並沒有真正在思考模式,就像「在你的孩子的表格中打包封裝那些壓倒一切的行爲」一樣。但我可能不應該使用「門面」這個詞,因爲這更像是一種模式化的東西......嘆息......儘管如此,最好還是澄清一下任何人在未來可能會閱讀的內容! – DarinH 2011-03-21 17:00:37

相關問題