Я передаю список клиентов через конструктор. Затем он привязывается к 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();
}
}
}
Кто-нибудь знает, что я могу сделать, чтобы убедиться, что все изменения не сохранены, когда я нажимаю кнопку отмены?