0
當寫有視圖 - 控制器和/演示的功能之間的適當分離,WinForms應用程序,我經常發現自己寫這樣的代碼:C#/ WinForms:我需要IWin32Windows嗎?
public void class SomeView:Form{
private void loadFileButton_Click(object sender, EventArgs e)
{
_loadFileAction.Execute(this);
}
}
public void class LoadFileAction:Action{
public override void Execute(IWin32Window owner){
// ...
string file = _fileSelector.SelectFile(owner);
}
}
public void class FileSelector:IFileSelector{
public override void SelectFile(IWin32Window owner){
OpenFileDialog dialog = new OpenFileDialog();
dialog.ShowDialog(owner);
//...
}
}
或周圍的正確的窗口通過打開子對話框中的其他一些變化。
我經常試圖跳過窗口句柄並始終使用無參數的ShowDialog()方法 - 它應該只使用當前活動窗口。
任何人都有使用類似體系結構的經驗嗎?你是做什麼?