C# Windows フォームでモデル ビュー プレゼンター パターンを実装しようとしています。私はいくつかの異なる方法を試しましたが、これを理解していません。ユーザーがテキストボックスをクリックしたときに、テキストボックスからのユーザー入力を「受け入れる」方法はありますか? 存在しない場合、プレゼンターにデータを渡す一般的な方法は何ですか? テキストボックスの on_text_changed イベントを使用できますが、データを検証する方法がわかりません。
3 に答える
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 でプロパティを実装する際に、値を返す前に検証を行います。
于 2012-07-23T09:25:48.683 に答える
1
于 2012-04-09T00:45:28.553 に答える
0
Leave
イベントをリッスンする必要があります。これは、テキスト ボックスがフォーカスを失ったときに発生します。その後、検証を行うことができます。
于 2012-04-09T01:20:43.287 に答える