日期:2014-05-20  浏览次数:20993 次

如何listbox每一行颜色不同
如何listbox每一行颜色不同
请详细点

------解决方案--------------------
注意
Form1_Load是Form1.Load事件的代码,选中窗体在属性中事件页找到Load后双击...
listBox1_DrawItem是listBox1.DrawItem事件的代码同上...
最后一次回复,再不能运行就没法说下去了
C# code
private void Form1_Load(object sender, EventArgs e)
{
    listBox1.Items.Add("红色");
    listBox1.Items.Add("黄色");
    listBox1.Items.Add("蓝色");
    listBox1.DrawMode = DrawMode.OwnerDrawFixed; // 属性里设置
}

private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
    Color vColor = e.ForeColor;
    switch (e.Index)
    {
        case 0: vColor = Color.Red; break;
        case 1: vColor = Color.Yellow; break;
        case 2: vColor = Color.Blue; break;
    }
    e.Graphics.FillRectangle(new SolidBrush(vColor), e.Bounds);
    e.Graphics.DrawString(((ListBox)sender).Items[e.Index].ToString(), e.Font, 
        new SolidBrush(e.ForeColor), e.Bounds);
    e.DrawFocusRectangle();
}