You can't do that easily in the ListBox. And drawing them using Graphics is not easy at all. I suggest using a DataGridView
o ListView
control instead.
Result:
DataGridView: There's a ColumnType called DataGridViewImageColumn
that you can use to show your status icon.
public void FillDataGridView()
{
//images
var greenImg = Resources.green;
var redImg = Resources.red;
var yellowImg = Resources.yellow;
dataGridView1.Rows.Add(new object[] {"Vland", greenImg});
dataGridView1.Rows.Add(new object[] {"John", yellowImg });
dataGridView1.Rows.Add(new object[] {"Paul", greenImg});
dataGridView1.Rows.Add(new object[] {"George", redImg});
dataGridView1.Rows.Add(new object[] {"Ringo", redImg });
}
How to: Display Images in Cells of the Windows Forms DataGridView Control
ListView: can add items composed by text + image. If you use the ListView, you need to add an imageList component to your form (with your images in it) and call their imageKey
value like shown in the example
public void fillListView()
{
listView1.SmallImageList = imageList1;
listView1.Items.Add("BombPenguin", "green");
listView1.Items.Add("Vland", "yellow");
listView1.Items.Add("John", "red");
listView1.Items.Add("Paul", "green");
listView1.Items.Add("Ringo", "red");
}
How to: Display Icons for the Windows Forms ListView Control
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…