2017-08-14 49 views

回答

2

您可以使用Mod操作符。

Dim myListView As ListView 
    Dim myRow As ListViewItem 
    Dim rowCnt As Integer = 0 
    For Each myRow In myListView.Items 
     If rowCnt Mod 2 = 0 Then 
      myRow.BackColor = Color.Blue 
     Else 
      myRow.BackColor = Color.Gray 
     End If 
     rowCnt = rowCnt + 1 
    Next 
+0

您是否需要將'ListViewItem.UseItemStyleForSubItems'設置爲'True'才能使用? – Jaxi

+0

在我的VS 2013中沒有** UseItemStyleForSubItems **?它強調它在紅色! – user8189

+0

不,你不應該需要比我發佈的東西更多的東西(除了將'ListView'實例分配給'myListView'變量)。 – gmiley

0

可以使用BackColor屬性ListViewItem

Dim i As Integer 
For Each lvi As ListViewItem In ListView.Items 
    If i Mod 2 = 0 
     lvi.BackColor = Color.Gold 
    End If 
    i += 1 
Next 

我具有以下示例工作:

ListView1.Items.Add("test1") 
     ListView1.Items.Add("test2") 
     ListView1.Items.Add("test3") 
     ListView1.Items.Add("test4") 

     Dim i As Integer 

     For Each lvi As ListViewItem In ListView1.Items 
      lvi.SubItems.Add("s1") 
      lvi.SubItems.Add("s2") 
     Next 


     For Each lvi As ListViewItem In ListView1.Items 
      If i Mod 2 = 0 Then 
       lvi.BackColor = Color.Gold 
      End If 
      i += 1 
     Next 

我還添加了兩個3列與設計者模式Columns屬性,並設置View屬性等於Details

+0

這些代碼都不工作!我有Form1(Form1.ListView1)中調用我的ListView。 @ M ldrees:你的代碼是否完整? – user8189

+0

@ M ldrees:你的代碼是否完整?似乎有**如果沒有**結束如果** – user8189

+0

'%'不是VB.NET中的有效字符。用'Mod'切換它# – Jaxi

相關問題