2012-02-27 6 views
0

Winformsでデータバインディングに問題があります。フォームで「キャンセル」をクリックしても、オブジェクトが更新されます。winformsでのデータバインディング:「キャンセル」をクリックしても更新されます

[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); } 
} 

UI:

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"); 
} 

編集機能:

01お時間をの

おかげ

答えて

2

あなたは戻りませんバインディングフォームデータにキャンセルをクリックすると、あなたが値のバックアップコピーを維持する必要があり、彼らは元の値と新しい値を置き換える変更した場合。 .Netはあなたが何をしたいのか分からない。

+0

ありがとうございました。 ここで私がしたことは次のとおりです。DataBindingのDataSourceUpdateModeをNeverに設定し、ユーザーがOKをクリックすると、オブジェクトプロパティを更新します。 – SidAhmed

+1

それは私があなたのために働くことがうれしいが、そこにデータバインディングを使用するポイントはありますか? –

+1

ここでの利点は、選択したオブジェクトを取得した後、コントロールのプロパティ(例: "Text"または "EditValue")を強制的に設定する必要がないことです。それとも他の解決策がありますか? – SidAhmed

関連する問題