C# ListView中获得选中项的内容lvSafeRule.SelectedItems[0].SubItems[2].Text.ToString()出现错误
同样的语句在另一个控件中就没问题。怎么回事呢??

解决方案 »

  1.   

    http://my.csdn.net/my/album/detail/1251559
      

  2.   

    加个判断if(lvSafeRule.SelectedItems != null)就可以了,其选择项在切换时会空一下,也就是A项选中为false,然后B项选中为true,二者不算同时发生的
      

  3.   


    这个问题 在IndexChanged 事件中就不会有错误啊,在另外一个函数中使用就会出现问题
      

  4.   


    IndexChanged事件触发时说明有选中的项,但你放到另一个函数时,你就需要先判断ListView当前是否有选中的项,否则就会报错的,原因就在这里。
      

  5.   

    lvSafeRule.SelectedItems.SubItems[2].Text.ToString()
      

  6.   

    这个问题解决了 :在这个语句前,有一个  lvSafeRule.SelectedItems[0].Remove(); 语句
    即在取得选中项时,已经将节点删除了。两个语句交换下,就不会有问题了。