2012-04-09 81 views
0

我试图在C#窗体中实现模型视图展示器模式。我尝试了几种不同的方法,但还没有弄清楚。无论如何,当用户点击文本框时,从文本框中“接受”用户输入?如果没有,将数据传递给演示者的典型方式是什么?我可以使用文本框的on_text_changed事件,但是我对如何验证数据感到困惑。如何接受来自文本框的输入

回答

0

你会想要听Leaveevent。当文本框失去焦点时会发生这种情况;之后,你可以做你的验证。

1

我知道这个帖子太老了,但仍然存在。

public interface IProjectView 
{ 
    string textBoxText{get;} 
} 

实现它在ProjectView

public class ProjectView : IProjectView 
{ 
    ProjectPresenter _presenter; 

    public ProjectView() 
    { 
     _presenter = new ProjectPresenter(this); 
    } 

    string textBoxText 
    { 
     get 
     { 
      // Do validation if you want 
      return textBox1.Text; 
     } 
    } 
} 


class ProjectPresenter 
{ 
    IProjectView _view; 
    public ProjectPresenter(IProjectView view) 
    { 
     _view = view; 
    } 

    public void AnyMethod() 
    { 
     // Access value of textbox as _view.txtTextBoxText 
    } 
} 

没有经过测试的代码,但应该能正常运行。

关于验证,在实现ProjectView中的属性时,请在返回值之前进行验证。

相关问题