2009-10-04 29 views
0

我目前正在用標準UI控件編寫一個小遊戲。在引擎/控制器中註冊用戶界面元素

到目前爲止它工作得很好,但我不喜歡的是我管理代碼隱藏文件中的控件。 (C#)

正如我想解耦所有元素,我想有一個單獨的引擎/控制器處理所有的數據管理和我的用戶界面的邏輯。

是否有可能在引擎中註冊控件,以便我不需要用我調用的每種方法將它們傳遞出去?

目前,我強迫我每次調用函數時通過控制..

提前感謝!

回答

0

如果您能更詳細地闡述您當前的實施情況,那將會很好。根據我的理解,與其試圖弄清楚如何'使用引擎註冊控件',爲什麼不試着查看它是否是設計問題。

也許有更好的方法來構建您的應用程序/類/組件,以便您可以在邏輯上解耦以實現更好的可重用性和可維護性?

+0

很多邏輯現在在我的button_click事件處理程序中。我想通過一個專門的類來處理所有的邏輯並更新我的表單元素來改變它。我想在控制類中註冊控件的物理地址(如C++指針),這樣我就不需要每次調用方法時都傳入控件。 –

+0

不知道這是否適用於您,一個快速和骯髒的竅門是創建一個公共/內部靜態變量,用於引用控件。在Button_Click上,將控件分配給此靜態變量,並將其用於新代碼所需的任何位置,而無需總是傳遞參考。在退出Button_Click方法之前,取消分配引用。 –

+0

這可能會起作用,但關注的「解耦」並非如此。之後的目標是在課堂外創建一個Web服務。 –