我正在尝试验证Windows窗体应用程序中的用户输入(使用MVP设计模式)。由于这是我使用MVP的第一个项目,我不太清楚在何处以及如何放置用户输入验证代码。 具体来说,我有一个Products表单,其中包含两个文本框控件,即Productly Product和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代码放在某些方法中并将其传递给我来重用大部分代码,我真的很喜欢控制和适当的消息。我应该把这个验证码放在哪里?
此致
答案 0 :(得分:1)
我已经使用了带有错误提供程序的基本表单,然后从中继承了其他表单。我还将可视错误代码也放在这个基本形式中。这意味着重复使用相同的代码。对于Mvp,您可以使用基本表单和应用程序视图继承的接口执行类似操作。然后,您的演示者将看到用于设置验证状态,消息等的统一界面。