我在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();
}
}
}
感谢您的时间
答案 0 :(得分:2)
单击表单上的取消时,数据绑定不会还原,您需要保留值的备份副本,如果更改,则将新值替换为原始值。 .Net不知道你想做什么。