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()方法 - 它应该只使用当前活动窗口。
任何人都有使用类似体系结构的经验吗?你是做什么?