如题
我想在 listbox 里每项设定不同的颜色
想求 c# 的具体重写代码
谢谢大家了

解决方案 »

  1.   

    在listbox.DrawItem   事件中处理,你可以在网上搜索下,应该有很多这方面的例子的
      

  2.   

    我从一个朋友那里找到过一段,我自己改编了一下,用着还可以.你去试试.先定义一个 Brush[] ListBoxColor = new Brush[你listbox的行数]; 
    然后把你每行要用的画笔放进数组.
    private void listbox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
            {
                e.DrawBackground();
                Brush myBrush = Brushes.Black;
                if (e.Index != -1)
                {
                    if (e.Index < ListBoxColor.Length) myBrush = ListBoxColor[e.Index];
                    {
                        try
                        {
                            e.Graphics.DrawString(((ListBox)sender).Items[e.Index].ToString(), e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
                        }
                        catch { }
                    }
                }
                try
                {
                    e.DrawFocusRectangle();
                }
                catch { }
            }
      

  3.   

    listbox能实现吗?
    只知道listview 和 gradview都比较好设置..
      

  4.   

    listbox是没有这个属性设置的
    只能重写谢谢上面各位,我这就去试试
      

  5.   

    kill bugs 你好new Brush[你listbox的行数]
    这个行数的意思是?
    我现在想随时填加listbox的项目,随时设定时间
    能说明下具体细节么本人愚笨,谢谢啦
      

  6.   

    listbox1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listbox1_DrawItem);
      

  7.   

    楼主记得将DrawMode 属性设置为 DrawMode.OwnerDrawFixed 或 DrawMode.OwnerDrawVariable 
    不然事件不触发
      

  8.   


    DrawMode.OwnerDrawFixed 这个我知道
    谢谢 paulin
      

  9.   


    Brush[] ListBoxColor = new Brush[ ] {Brushes.Blue,Brushes.Red,Brushes.Green};
    就是你每行想要设置的颜色数组,比如你一共有三行
      

  10.   

    kill bugs
    你说的这个,我有
    我是不太明白 行数的问题
      

  11.   

    谢谢各位!~~
    问题解决!~~谢谢 kill bug 的方法
    谢谢 风往哪吹 的耐心
    接分!
      

  12.   

    在web 开发中,listBox有DrawItem事件吗?我怎么没找到啊!如果我想在web开发中使用怎么办啊