2012-04-09 44 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中的屬性時,請在返回值之前進行驗證。

相關問題