首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

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

2012-12-19 
关于listbox每行字体颜色的问题?高手指教如果只是让不同行颜色不同,可以做到。但我想让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属性。
[其他解释]

引用:
能。自己绘制。


不过只能把一整行给绘制了,达不到我要的效果!
[其他解释]
引用:
直接用ListView就可以了。
每行都有有BackColor属性。

backcolor也是给一整行设置颜色吧!还有就是现在不考虑用Listview
有没有其他办法
[其他解释]
你要的不就是整行绘制?你要的是文字变色?
自绘制可以。
ListView每行可以设置前景色,文本颜色:ForeColor
ListBox自己绘制也没问题。很容易。
[其他解释]
引用:
你要的不就是整行绘制?你要的是文字变色?
自绘制可以。
ListView每行可以设置前景色,文本颜色:ForeColor
ListBox自己绘制也没问题。很容易。

是文字变色,我弄了一段时间了,不过小弟愚笨,还没成功!
能否给出关键代码,或者思路
谢谢
[其他解释]
引用:
你要的不就是整行绘制?你要的是文字变色?
自绘制可以。
ListView每行可以设置前景色,文本颜色:ForeColor
ListBox自己绘制也没问题。很容易。

帮顶了!
[其他解释]
引用:
引用:
你要的不就是整行绘制?你要的是文字变色?
自绘制可以。
ListView每行可以设置前景色,文本颜色:ForeColor
ListBox自己绘制也没问题。很容易。

帮顶了!

应该帮顶解决问题。。。。
[其他解释]
引用:
  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("……

先谢谢了
[其他解释]
不知这是否可行
ListItem li=new ListItem();
li.Text=<span color:"red">redfont</span><span>bluefont</span>
不知是否可作参考,随便写的
[其他解释]
引用:
不知这是否可行
ListItem li=new ListItem();
li.Text=<span color:"red">redfont</span><span>bluefont</span>
不知是否可作参考,随便写的

不行吧,vb.net没这吧
[其他解释]
c#呢?

热点排行