如何接受来自文本框的输入

时间:2012-04-09 00:10:28

标签: c# winforms mvp

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

3 个答案:

答案 0 :(得分:1)

我认为这里很简单的是 MSDN 链接,用于说明TextBox类与代码的功能。

TextBoxBase.Text Property

&安培;验证使用: Control.Validated Event

希望它有所帮助!

答案 1 :(得分: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中实现属性时,请在返回值之前进行验证。

答案 2 :(得分:0)

您需要倾听Leave event。当文本框失去焦点时,就会发生这种情况;之后,您可以进行验证。