I would recommend using a
BindingSource, here is an excellent article about it:
A Detailed Data Binding Tutorial[
^]
example (quote):
BindingSource bs = new BindingSource();
private void Form1_Load(object sender, EventArgs e)
{
bs.DataSource = typeof(Airplane);
bs.Add(new Airplane("Boeing 747", 800));
bs.Add(new Airplane("Airbus A380", 1023));
bs.Add(new Airplane("Cessna 162", 67));
grid.DataSource = bs;
grid.AutoGenerateColumns = true;
txtModel.DataBindings.Add("Text", bs, "Model");
}
Here a class is used, but you probably want to use a
List<>
which is perfectly possible.
To save your class or List, you could use serialization.