关于listbox每行字体颜色的有关问题?高手指教

关于listbox每行字体颜色的问题?高手指教
如果只是让不同行颜色不同,可以做到。但
我想让listbox同一行的字显示不同颜色,比如:I love you! 我想要的结果是要这样的:I 为黑色,love显示为红色 you显示为蓝色。用OnDrawItem能实现吗?
请指教!
------最佳解决方案--------------------

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.ListBox1.DrawMode = Windows.Forms.DrawMode.OwnerDrawFixed
        Me.ListBox1.Items.Add("楼主变态")
        Me.ListBox1.Invalidate()
    End Sub

    Private Sub ListBox1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles ListBox1.DrawItem
        Dim Dstring As String = Me.ListBox1.Items(e.Index).ToString
        Dim Col As Color
        Dim A, R, G, B As Byte
        Dim left As Int16 = e.Bounds.Location.X
        Dim Guid As New Guid
        Dim Ran As Double = New System.Random(System.Environment.TickCount).NextDouble
        For Each C As Char In Dstring
            '该段产生随机数的代码不好!要上班了,VS2010和VS2008有的差异?
            A = 255 * New System.Random(Ran).NextDouble
            Ran = New System.Random(Ran).NextDouble
            R = 255 * New System.Random(Ran).NextDouble
            Ran = New System.Random(Ran).NextDouble
            G = 255 * New System.Random(Ran).NextDouble
            Ran = New System.Random(Ran).NextDouble
            B = 255 * New System.Random(Ran).NextDouble
            Col = Color.FromArgb(A, R, G, B)
            Dim Pen As New Drawing.SolidBrush(Col)
            e.Graphics.DrawString(C, e.Font, Pen, left, e.Bounds.Top)
            left = left + e.Graphics.MeasureString(C, e.Font, e.Bounds.Width).Width
        Next


    End Sub
------其他解决方案--------------------
能。自己绘制。
------其他解决方案--------------------
直接用ListView就可以了。
每行都有有BackColor属性。
------其他解决方案--------------------
引用:
能。自己绘制。