private void PopulateListWithCurves() { listViewCurves.BeginUpdate(); listViewCurves.Items.Clear(); listViewCurves.LargeImageList = new ImageList(); foreach (KeyValuePair <string, Curve> kvp in Library) { Curve c = kvp.Value; string name = kvp.Key; listViewCurves.LargeImageList.ImageSize = new Size(64, 64); listViewCurves.LargeImageList.Images.Add(name, c.GenerateCurveImage(new Size(64, 64))); ListViewItem item = new ListViewItem(); item.Text = name; item.Name = name; item.ImageKey = name; item.Tag = c; listViewCurves.Items.Add(item); } listViewCurves.EndUpdate(); buttonEditCurve.Enabled = false; buttonDeleteCurve.Enabled = false; }