private void FormUpdate_Load(object sender, EventArgs e) { try { FilmUpdate fu = new FilmUpdate(); foreach (FieldInfo fi in fu.GetType().GetFields()) { this.listView1.Columns.Add(fi.Name, -2, HorizontalAlignment.Left); //一步添加 } listView1.KeyDown += listView1_KeyDown; //XmlHelper xml = new XmlHelper(path); //DataTable dtList = xml.GetData(rootNodeName);' FileStream fs = new FileStream(path, FileMode.Open); films = XmlHelper.Deserialize(typeof(List <FilmUpdate>), fs) as List <FilmUpdate>; fs.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void UpdateListview(FilmUpdate film) { if (listView1.InvokeRequired) { listView1.Invoke(new Action <FilmUpdate>(UpdateListview), new object[] { film }); } else { listView1.BeginUpdate(); ListViewItem lvi = new ListViewItem(); foreach (FieldInfo fi in film.GetType().GetFields()) { if (fi.Name == "Name") { lvi.Text = fi.GetValue(film).ToString(); } else { lvi.SubItems.Add(fi.GetValue(film).ToString()); if (fi.Name == "CountWaitDownload" && ((int)fi.GetValue(film)) > 0) { lvi.BackColor = Color.LightPink; } } } listView1.Items.Add(lvi); listView1.EndUpdate(); for (int i = 0; i < listView1.Columns.Count; i++) { listView1.Columns[i].Width = -1; } } }