我正在通过构造函数传递客户列表。然后将其数据绑定到 ListBox。我还绑定了一个文本框以允许更改客户名称,它会自动更新 ListBox 和客户列表,这非常好。
但是,如果用户单击“取消”按钮,我希望不要保留更改。我告诉程序将客户列表设置为旧客户列表,但它不起作用,当我再次打开窗口时,ListBox 显示更新的客户名称而不是旧名称。
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Collections.Generic;
namespace Bingding_Test
{
public partial class Form_Customers : Form
{
List<Customer> customers;
List<Customer> old_customers;
BindingSource bs = new BindingSource();
public Form_Actors(List<Customer> _customers)
{
InitializeComponent();
customers = _customers;
old_customers = new List<Customer>(_customers);
bs.DataSource = customers;
listBox1.DataSource = bs;
listBox1.DisplayMember = "Name";
txtb_name.DataBindings.Add("Text", bs, "Name");
}
void Btn_cancelClick(object sender, EventArgs e)
{
actors = old_customers;
this.Close();
}
void Btn_saveClick(object sender, EventArgs e)
{
this.Close();
}
}
}
任何人都知道我可以做些什么来确保当我单击取消按钮时不会保存所有更改?