0

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

4

3 回答 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

我认为这里很容易使用MSDNTextBox链接,这些链接用代码说明了类的功能。

TextBoxBase.Text 属性

& 验证使用: Control.Validated 事件

希望能帮助到你!

于 2012-04-09T00:45:28.553 回答
0

你会想听Leave 事件。当文本框失去焦点时会发生这种情况;之后,您可以进行验证。

于 2012-04-09T01:20:43.287 回答