none
如何讓LISTBOX item上色 RRS feed

  • 問題

  •  

    在VB2005中

    小弟想對listbox.item作判斷

    if listbox.item.tostring.contains("刪除") then

      listbox.item.forcecolor=color.red

    elseif....

    end if

     

    只是不知道listbox中的每個item.tostring可否有不同的顏色

    可以辦到嗎??

    感謝

    2007年12月22日 上午 11:28

解答

所有回覆

  • Hi,

    ListBox的話可能不行,或許可以考慮看看用ListView,ListView可以指定每個ListViewItem的顏色。

     

    2007年12月22日 下午 01:18
    版主
  •  

    感謝大大指導

    小弟去研究listview元件了

    2007年12月22日 下午 03:06
  •  

    想請問大大

    listview中如何使用垂直的顯示模式

    當listview中item項目過多

    顯示方式為水平

    是否有辦法改為垂直呢

    感謝

    2007年12月22日 下午 03:53
  • Dear Sir

    您可以試試看 ListView1.View = View.Details 看看是不是你要的結果

     

    2007年12月22日 下午 05:04
    版主
  • 感謝各位大大指導

    看來要先好好熟析這元件了

     

     

    2007年12月23日 上午 01:42
  • HI,

     

    為ListBox的項目上色可以這樣做:

     

    1) 將ListBox的DrawMode屬性設定為OwnerDrawFixed

    2) 為ListBox製作DrawItem事件處理程序, 例如:

     

    Private Sub ListBox2_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox2.DrawItem
            Dim lb As ListBox = CType(sender, ListBox)
            If e.Index = -1 Then
                Return
            End If

            If e.Index Mod 2 = 0 Then
                e.Graphics.FillRectangle(Brushes.BurlyWood, e.Bounds)
            End If

            e.Graphics.DrawString(ListBox2.Items(e.Index), ListBox2.Font, Brushes.Black, e.Bounds.X, e.Bounds.Y)
        End Sub

     

    上述的程式會為奇數列加上條紋色彩, 如果要依據項目的內容加色彩的話, 只要修改一下就行了

     

    tihs

     

    2007年12月23日 上午 06:10
  • 太感激大大指導了

    又學到了不少

    謝謝

    ^^

    2007年12月23日 下午 06:08