希望這個形象是在這裏讀訪問窗體的控件...你如何使用MVP
這是我的第一個項目實施MVP。我有三堂課。我的主要形式,正確命名爲FrmMain
,FrmMainPresenter
,然後MainOps
它有一些額外的東西。
在FrmMain
,我得FrmMainPresenter
參考,並FrmMainPresenter
我必須FrmMain
參考。
FrmMain
上的事件調用FrmMainPresenter
上的方法。
FrmMainPresenter
是應該來從FrmMain
基準的控制和呼叫接受一個GridControl
和Collection<Control>
上MainOps
的方法。
然而,在嘗試中FrmMainPresenter
訪問相應的電網和集合,它告訴我FrmMain
不包含定義這些控件
守則FrmMain
:
private void genericCheckbox_CheckedChanged(object sender, EventArgs e)
{
_presenter.CheckBoxCheckedChanged();
}
守則FrmMainPresenter
:
public void CheckBoxCheckedChanged()
{
if (!_view.SuppressCheckedChanged)
_mo.UpdateFilter(_view.gdcSVNDefaultView, _view.Controls);
}
不知道我在做什麼錯誤。我不認爲這是正確的,但我唯一的猜測是去設置文件中的公共設置必要的控制,但沒有奏效。相同的結果。
我想這個問題是因爲我的表單的界面沒有定義gridview/controls集合,我的演示者類無法看到它。但即使如此,我不確定我如何在界面中正確定義它,以便我可以在窗體上實現它。
是你的問題,你的代碼沒有編譯,或者它在運行時拋出一個異常(如果是的話,異常和它的棧跟蹤是什麼)。 – elgonzo
它不編譯。 – sab669
如果使用接口,則聲明一個返回所需控件的方法。在你的類實現接口的時候,你也可以實現這個方法。 (或者,不要使用方法,你可以在界面中聲明一個屬性爲吸氣劑。) – elgonzo