繁体   English   中英

WindowsForm 列表框绘制项目

[英]WindowsForm listbox draw item

我正在尝试更改列表框中特定项目的颜色。 这是我正在使用的代码。 问题是列表框中的所有项目都具有相同的颜色和相同的文本。 我无法弄清楚我做错了什么。

 private void button1_Click(object sender, EventArgs e)
 {
     lbPossibleChildren.DrawMode = DrawMode.OwnerDrawFixed;
     lbPossibleChildren.DrawItem += new DrawItemEventHandler(lbDraw);
 }
 private void lbDraw(object sender, DrawItemEventArgs e)
 {
     e.DrawBackground();
     Graphics g = e.Graphics;
     g.FillRectangle(new SolidBrush(Color.Orange), e.Bounds);
     g.DrawString(lbPossibleChildren.Items[3].ToString(), e.Font, new SolidBrush(e.ForeColor), new PointF(e.Bounds.X, e.Bounds.Y));
     e.DrawFocusRectangle();
 }

结果截图

您可以将listbox替换为listview它允许更改项目颜色。

listView1.Items[1].BackColor = Color.Green;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM