2012-04-09 20 views
0

C#ウィンドウフォームでモデルビュープレゼンターパターンを実装しようとしています。私はいくつかの異なる方法を試しましたが、これを理解していません。ユーザーがテキストボックスをクリックしたときに、テキストボックスからのユーザー入力を「受け入れる」とにかくありますか?存在しない場合は、データを発表者に渡す典型的な方法は何ですか?私は、テキストボックスのon_text_changedイベントを使用することができますが、その後、データを検証する方法について混乱しています。テキストボックスからの入力を受け入れる方法

答えて

0

あなたはLeaveeventを聞きたいと思うでしょう。それは、テキストボックスがフォーカスを失ったときに起こります。その後、あなたの検証を行うことができます。

1

私はこのスレッドが古すぎるが、まだ方法だと知っています。

public interface IProjectView 
{ 
    string textBoxText{get;} 
} 

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

でテストされていないコードを、それを実装しますが、正常に動作する必要があります。

検証に関しては、ProjectViewでプロパティを実装するときに値を返す前に検証を行います。

関連する問題