C#我可以在列表框中显示图像吗?

C#在坚果壳中,我可以在列表框中显示图像吗? 我有一个用户列表,我想在一些名称旁边显示绿色勾号,这可能吗?

谢谢

以下代码显示如何在列表框中执行自定义绘图。

using System.Windows.Forms; using System.Drawing; namespace Toolset.Controls { public class CustomDrawListBox : ListBox { public CustomDrawListBox() { this.DrawMode = DrawMode.OwnerDrawVariable; // We're using custom drawing. this.ItemHeight = 40; // Set the item height to 40. } protected override void OnDrawItem(DrawItemEventArgs e) { // Make sure we're not trying to draw something that isn't there. if (e.Index >= this.Items.Count || e.Index <= -1) return; // Get the item object. object item = this.Items[e.Index]; if (item == null) return; // Draw the background color depending on // if the item is selected or not. if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) { // The item is selected. // We want a blue background color. e.Graphics.FillRectangle(new SolidBrush(Color.Blue), e.Bounds); } else { // The item is NOT selected. // We want a white background color. e.Graphics.FillRectangle(new SolidBrush(Color.White), e.Bounds); } // Draw the item. string text = item.ToString(); SizeF stringSize = e.Graphics.MeasureString(text, this.Font); e.Graphics.DrawString(text, this.Font, new SolidBrush(Color.White), new PointF(5, e.Bounds.Y + (e.Bounds.Height - stringSize.Height) / 2)); } } } 

System.Windows.Forms.ListView可以很容易地完成这个任务。 如果您想要“详细信息”视图中的列表,则可能需要比ListBox更难工作。

史蒂夫,这篇文章可能会指出你正确的方向:
http://www.codeproject.com/KB/combobox/glistbox.aspx

在WPF中它很简单,但是如果你使用的是winforms,则不能使用System.Windows.Forms.ListBox控件。 您可以使用ListView控件或第三方控件执行此操作。