2014-09-29 93 views
0

我在Windows窗体中使用MVC。我有一个关于MVC中向导/对话框/ error_msgs的问题,我应该在哪里调用向导/对话框/ error_msgsMVC Windows窗体

i。从控制器显示
ii。通知视图从控制器显示对话框/向导/ error_msg

哪种方法是正确的?

class Controller 
{ 
    IView view; 

    public void DoSomthing() 
    { 
     // i) approach 

     Wizard wz = new Wizard(); 
     wz.Show(); 

     MessageBox.Show("Error while DoSomething"); 


     // ii) approach 

     view.ShowWizard(); 

     view.ShowErrorBox(); 
    } 
} 
+1

请解释“wizards/dialogs/error_msgs”的含义和Wizard类是什么。不知道它是什么,我们不知道什么时候该被调用。 – 2014-09-29 13:11:08

+0

@StealthRabbi对话框可以是FileOpen对话框,它将在按钮单击时显示给用户,如果在控制器中执行操作时有任何错误,那么我们可以向用户显示错误框,所以我问的是我应该在哪里编写这两种场景的代码 – 2014-09-29 13:21:48

回答

1

虽然我与@同意StealthRabbi的评论,你应该更具体,解释什么是wizards/dialogs/erros_msgs,从你的代码我想,你想知道,你是否应该直接创建和controller或显示Wizard窗口要求view来显示它。 显然答案是ii)选项,所有UI相关的东西应该由view完成。显示Wizard窗口是UI相关的东西,所以controller不应该直接创建Wizard,而是要求view这样做。所以你的代码应该是这样的

class Controller 
{ 
    IView view; 

    public void DoSomthing() 
    { 
     // ii) approach 

     view.ShowWizard(); 

     view.ShowErrorBox(); 
    } 
} 
+0

谢谢你的回答,你的设想对我的问题是正确的:) – 2014-09-29 13:54:17