日期:2014-05-20  浏览次数:21172 次

listView1_SelectedIndexChanged
我写了如下代码:
  private void listView1_SelectedIndexChanged(object sender, EventArgs e)
  {
  for (int i = 0; i < this.listView1.Items.Count; i++)
  {
  this.listView1.Items[i].BackColor = Color.Blue;
  this.listView1.Items[i].ForeColor = Color.Black;
  }
  if (this.listView1.Items.Count > 0 && this.listView1.SelectedItems.Count > 0)
  {
  this.listView1.SelectedItems[0].BackColor = Color.Orange;
  this.listView1.SelectedItems[0].ForeColor = Color.Green;
  }
  }

当我内容添加listView中时,不能第一时间的显示for语句。要点下新增的其中一行才能显示。
还有就是,当我选中其中一行时,不能运行if语句的内容。只有当整个窗体不活动时才运行if语句里面的内容。
求解???

------解决方案--------------------
当我内容添加listView中时,不能第一时间的显示for语句。要点下新增的其中一行才能显示listView1_SelectedIndexChanged事件是list选择改变才触发的吧,所以点击才显示


当我选中其中一行时,不能运行if语句的内容。只有当整个窗体不活动时才运行if语句里面的内容
设个断点看看this.listView1.SelectedItems.Count 的值是多少
if (this.listView1.Items.Count > 0 && this.listView1.SelectedItems != null)