在vb中使用listview控件时,如何能改变其中某一行的颜色,求助了 望高手指点啊

如图所示,一整行的颜色都变,请大神帮忙呀

ListView1.SelectedItem.ListSubItems.Item(2).ForeColor = vbRed 我这样改的时候只能改变其中某一单元格的字体颜色,现在我想一整行都换颜色,怎么办 ??对了 另外还有个问题,怎么在listview双击事件里,怎么确定我点击了 哪一行,例:如果我双击第行时跳出一个窗体,双击第二行时则跳出另一窗体,望大神指导啊

既然你可以改变某个Item的颜色,那么用一个循环不就可以实现了么?

似乎这个办法是最好的办法了。

Private Sub ListView1_Click()
   ListView1.SelectedItem.ForeColor = vbRed
   For i = 1 To ListView1.ColumnHeaders.Count - 1
       ListView1.SelectedItem.ListSubItems(i).ForeColor = vbRed
   Next
End Sub

双击取得行号.SelectedItem.Index属性,使用代码如下:

Private Sub ListView1_DblClick()
    MsgBox ListView1.SelectedItem.Index
End Sub

追问

根据你说的第一个问题已经解决了 ,谢谢你 我会把你采纳为满意答案的
不过第二个可能是我表达的不清楚,我想让他实现的功能是,双击其中一行时,会出现一个窗体(from1),而如果双击的不是这一行则跳出另一个窗体(from2),我现在就是不会这个判断的 麻烦你在教我一次吧 对了 这个文题我问了三次 你找一下就在vb专区里 找着了随便答一下 分数都给你 嘿嘿

追答

VB里面对于窗体的引用是比较麻烦的。

一般情况下,没有窗体的集合供我们来使用。所以我们要么是在第一个窗体加载的同时加载其他窗体,那么我们可以使用下面的方法来调用窗体。

Private Sub ListView1_DblClick()
    VB.Global.Forms(ListView1.SelectedItem.Index - 1).Show
End Sub

Private Sub Form_Load()
    Load Form2
    Load Form3
End Sub

除此之外,比较靠谱的做法就是,利用条件语句,一个一个选择。例如:

Private Sub ListView1_DblClick()
    Select Case ListView1.SelectedItem.Index
        Case 1: Form1.Show
        case 2: Form2.Show
    End Select
End Sub

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答