winforms中的DataBinding:即使我点击"取消"

时间:2012-02-27 13:43:44

标签: c# .net winforms data-binding

我在Winforms中遇到DataBinding问题,即使我单击表单上的“取消”,对象也会更新。

我将Ok按钮的属性“DialogResult”设置为“OK”,取消按钮设置为“取消”,同时,我将表单的属性“AccesptButton”和“CancelButton”设置为bnOk和bnCancel。

这是我的代码:

型号:

private string code;
public string Code
{
     get { return code; }
     set { SetPropertyValue<string>("Code", ref code, value); }
}

private string libelle;
public string Libelle
{
     get { return libelle; }
     set { SetPropertyValue<string>("Libelle", ref libelle, value); }
}

用户界面

public FamilleTiers CurrentFamilleTiers { get; set; }
private void FamilleTiersForm_Load(object sender, EventArgs e)
{
     txCode.DataBindings.Add("Text", CurrentFamilleTiers, "Code");
     txLibelle.DataBindings.Add("Text", CurrentFamilleTiers, "Libelle");
}

编辑功能:

public static void EditFamilleTiers(FamilleTiers selectedFamilleTiers)
{
   using (FamilleTiersForm form = new FamilleTiersForm() { CurrentFamilleTiers =  selectedFamilleTiers, Text = selectedFamilleTiers.Libelle })
   {
         if (form.ShowDialog() == DialogResult.OK)
         {
             form.CurrentFamilleTiers.Save();
         }
   }
}

感谢您的时间

1 个答案:

答案 0 :(得分:2)

单击表单上的取消时,数据绑定不会还原,您需要保留值的备份副本,如果更改,则将新值替换为原始值。 .Net不知道你想做什么。