2010-07-06 56 views
0

我正在使用MVC模式在C#窗口應用程序中執行一個項目。在這我需要訪問從客戶端窗體到ClientStatus控件表格任何想法windows應用程序

+0

@closers and downvoters:您至少可以發表評論。 – 2010-07-06 12:48:05

+0

@亨克,「很難說出這裏被問到的是什麼」。這聽起來非常針對項目。 – 2010-07-06 12:52:29

+1

@Tim,我知道,但OP顯然是新的,所以至少告訴他什麼是錯的。 – 2010-07-06 15:34:09

回答

0

由於您沒有發佈解釋您在WinForms中實現MVC的代碼,所以我不確定您是如何實際實例化和顯示窗體的。我假設你仍然在自己的代碼中調用構造函數。

傳遞時創建ClientStatus形式的客戶端窗體的引用(和ClientStatus窗體上創建一個構造函數接受作爲參數的客戶端窗體):

public class ClientForm : Form 
{ 
    public ClientForm() { } 
} 

public class ClientStatusForm : Form 
{ 
    ClientForm _parent; 

    public ClientStatusForm(ClientForm parent) 
    { 
     _parent = parent; 
    } 
} 
1

如果您在實際使用MVC你表單不應該需要其他控件。你的表格甚至不應該彼此認識。

請更好地解釋你的情況。

2

您的表單屬於MVC的V(視圖)部分;他們只需要向用戶提供數據並提供交互手段。他們不需要知道其他表格在做什麼,因爲這是在控制器中處理的...

對用戶交互做出反應的邏輯應該包含在C(控制器)部分中。因此,在您的示例中,控制器將響應一個表單上的用戶輸入以更新另一個表單的狀態。

基本而言,您的控制器應該實例化表單,對交互式表單上的事件作出反應,並調用方法或修改另一表單上的屬性來更新它。您使用的方法取決於您使用的技術;如果您使用WinForms,則使用events and delegates。如果您使用的是WPF,那麼您應該查看data binding