ここ数日、winforms を使用して MVP パターンをいじっていますが、どうすればよいかわからないことが 1 つだけあります。別のビューからサブフォームを作成する方法を教えてください。これは有効なオプションでしょうか。
public class MyForm : IMainFormView
{
private MainFormPresenter pres;
public MyForm() { pres = new MainFormPresenter(this); }
//Event from interface.
public event EventHandler<EventArgs> LoadSecondForm;
public void SomeButtonClick()
{
LoadSecondForm(this, EventArgs.Empty);
}
}
public class MainFormPresenter
{
private IMainFormView mView;
public MainFormPresenter(IMainFormView view) {
this.mView = view;
this.Initialize();
}
private void Initialize() {
this.mView.LoadSecondForm += new EventHandler<EventArgs>(mView_LoadSecondForm);
}
private void mView_LoadSecondForm(object sender, EventArgs e) {
SecondForm newform = new SecondForm(); //Second form has its own Presenter.
newform.Load(); // Load the form and raise the events on its presenter.
}
}
私は主に、このパターンを使用してサブフォームをロードする方法と、最初のページからサブフォームに ID を渡す方法に関心があります。
ありがとう。