最后,当然是界面实现。
这时业务操作对象及客户资料数据接口已定义好后,你可使用WebForm 、WinForm 或者WPF 等实现界面编辑,我这里使用的是WinForm 实现。
客户资料编辑界面
下面编辑界面的后台代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace HenXiao.WinUI
{
public partial class FrmCustomerEdit : Form,ICustomer
{
HxCustomerHelper helper = null;
public FrmCustomerEdit()
{
InitializeComponent();
helper = new HxCustomerHelper(this);
}
#region ICustomer 成员
private int cstId = 0;
public int CstId
{
get
{
return this.cstId;
}
set
{
this.cstId = value;
}
}
public string CstNo
{
get
{
return this.txtCstNo.Text;
}
set
{
this.txtCstNo.Text = value;
}
}
public string CstName
{
get
{
return this.txtCstName.Text;
}
set
{
this.txtCstName.Text = value;
}
}
public DateTime CstBirthday
{
get
{
if (this.dtpCstBirthday.Text == "")
return DateTime.MinValue;
else
return Convert.ToDateTime(this.dtpCstBirthday.Text);
}
set
{
this.dtpCstBirthday.Text = value.ToString();
}
}
public string CstTele
{
get
{
return this.txtCstTele.Text;
}
set
{
this.txtCstTele.Text = value;
}
}
public string CstZip
{
get
{
return this.txtCstZip.Text;
}
set
{
this.txtCstZip.Text = value;
}
}
public string CstAddr
{
get
{
return this.txtAddr.Text;
}
set
{
this.txtAddr.Text = value;
}
}
public string CstExp
{
get
{
return this.txtCstExp.Text;
}
set
{
this.txtCstExp.Text = value;
}
}
public string CstSex
{
get
{
return this.cmbCstSex.Text;
}
set
{
this.cmbCstSex.Text = value;
}
}
public string CstCertType
{
get
{
return this.cmbCstCertType.Text;
}
set
{
this.cmbCstCertType.Text = value;
}
}
public string CstCertNo
{
get
{
return this.txtCstCertNo.Text;
}
set
{
this.txtCstCertNo.Text = value;
}
}
public string CstEmail
{
get
{
return this.txtCstEmail.Text;
}
set
{
this.txtCstEmail.Text = value;
}
}
public string CstCompany
{
get
{
return this.txtCstCompany.Text;
}
set
{
this.txtCstCompany.Text = value;
}
}
#endregion
private void FrmCustomer_Load(object sender, EventArgs e)
{
this.cmbCstCertType.Items.Add("身份证");
this.cmbCstCertType.Items.Add("护照");
this.cmbCstCertType.Items.Add("军官证");
this.cmbCstSex.Items.Add("男");
this.cmbCstSex.Items.Add("女");
this.helper.DataLoad();
}
private void btnOK_Click(object sender, EventArgs e)
{
if (this.helper.Save())
{
MessageBox.Show("保存成功。", "保存成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close();
}
else
MessageBox.Show(this.helper.ErrorMessage,"保存出错",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
这样,这个事例基本完成,编辑界面后台基本无任何业务逻辑。
有更好方法实现业务逻辑与界面分隔,欢迎指教。