listView1.SelectedItems[0].Text
如果有子项,就用listView1.SelectedItems[0].SubItems[x].text

解决方案 »

  1.   

    mikeshi(辉男)兄:(也不知这样叫合不合适)listView1.SelectedItems[0].SubItems[x].text 上面这一句有一个数字:0,还有一个数字:x,关键是它们如何根据我的选择自动得来,比如:
    我可以把它们放进一个变量,再写成这样:listView1.SelectedItems[x].SubItems[y].text
      

  2.   

    UPUPUP   UPUPUP   
      

  3.   

    不好意思,让你误解了,其实,所谓0还是X都是指第几个项而已,一开始脑子里想的是第一项就顺手写了个0。
    举个例子吧,比如你有个LISTVIEW,里面每个项都有两个子项,一个是NICKNAME,另一个是PASSWORD的话,那么,你要知道第5项的PASSWORD内的内容的话,就可以用listView1.Items[4].SubItems[1].Text来获得,但是如果你要取得是你选定的那个项的Password话,一般就可以用listView1.SelectedItems[0].SubItems[1].Text,为什么是[0]呢?因为listview是可以多选的,用0表示你选择的多个项里的第一个项。希望我的明白了。
      

  4.   

    mikeshi(辉男)兄:
    我在想,如果我们能当面谈,可能早把问题解决了。
    listView1.SelectedItems[0].SubItems[1].Text 这一段,SelectedItems[0]这一句可以这么解决,但是:SubItems[1] 这一句,如何将其中的 [1] 用一个变量来代替如:[y],其中的 y  可以根据我的点选自动得出?
    如 DataGrid 控件就有一个 CurrentCell 属性来取得选中的表格。
      

  5.   

    这可能是由于你的误解造成的,LISTVIEW是列表显示的控件,有LARGEICON,SMALLICON,DETAILS好几种方式,而不像DATAGRID单单是表格。如果单单是表格就简单了,但是如果是用LAREICON方式呢?只能看到SUBITEMS里的第一个子项了(如果有其他子项的话要在DETAILS或LIST方式下才看到,这就和资源管理器一个道理)。所以我想如果你真的要有CurrentCell这样的方法,还不如直接用DATAGRID呢。
      

  6.   

     If (LISTVIEW.SelectedItems.Count <= 0) Then
    {
                MessageBox.show("没有选择 …………", MsgBoxStyle.Information + MsgBoxStyle.OKOnly, "eOMP提示")
    return;
    }
            stmp1 = LISTVIEW.SelectedItems(0).Text
            stmp2 = LISTVIEW.SelectedItems(0).SubItems(1).Text//假如有子列
    …………………………
      

  7.   

    多谢各位的提示。原来 ListView 并不支持各单元格的操作(在DETAILS或LIST方式显示时),是这样的吗?因为我很喜欢 ListView 控件的显示模式,特别是在 DETAIL 方式时,所以就只想也能对单元格进行直接控制就好。