0

我正在尝试验证 Windows 窗体应用程序中的用户输入(使用 MVP 设计模式)。由于这是我第一个使用 MVP 的项目,我不太清楚在哪里以及如何放置用户输入验证代码。具体来说,我有一个 Products 表单,其中包含两个文本框控件,即 ProductName 和 ProductPrice。

下面是我的 ProductForm、IProductView 和 ProductPresenter 的代码

IProductView.cs

 public interface IProductView
    {
        string ProductName { get; set; }
        int ProductPrice { get; set; }

        event EventHandler<EventArgs> Save; 
    }

frmProduct.cs

public partial class frmProduct : Form,IProductView
    {
        ProductPresenter pPresenter;

        public frmProduct()
        {
            InitializeComponent();
            pPresenter = new ProductPresenter(this);
        }

        public new string ProductName
        {
            get
            {
                return txtName.Text;
            }
        }

        public int ProductPrice
        {
            get
            {
                return Convert.ToInt32(txtPrice.Text);
            }
        }

        public event EventHandler<EventArgs> Save;
    }

ProductPresenter.cs

public class ProductPresenter
{
    private IProductView pView;

    public ProductPresenter(IProductView View)
    {
        this.pView = View;
        this.Initialize();
    }

    private void Initialize()
    {
        this.pView.Save += new EventHandler<EventArgs>(pView_Save);

    void pView_Save(object sender, EventArgs e)
    {
        throw new NotImplementedException();
    }
}

我确实想使用 ErrorProvider(EP) Control + 因为我将在许多表单上使用 EP 控件,如果我可以通过将 EP 代码放入某种方法并将其传递给控件并适当地重用大部分代码,我真的很高兴信息。我应该把这个验证码放在哪里?

问候,

4

1 回答 1

1

我使用了带有错误提供程序的基本表单,然后让其他表单继承自此。我还将视觉错误代码也放在了这种基本形式中。这意味着重复使用相同的代码。对于 Mvp,您可以使用基本表单和应用程序视图继承的接口执行类似的操作。然后,您的演示者将看到用于设置验证状态、消息等的统一界面。

于 2012-07-30T21:21:00.383 回答