如何将图像添加到System.Windows.Forms.ListBox?

我正在使用C#开发聊天程序,我使用ListBox管理昵称列表。 但是,客户有昵称和州(在线,离开)

所以,为了管理状态,我想在ListBox中添加图像(在线 – 绿色圆圈,远离红色圆圈)(这是我的想法)

如何将图像添加到ListBox? 请帮我。

谢谢。

您无法在ListBox中轻松完成此操作。 使用Graphics绘制它们并不容易。 我建议使用DataGridView ListView控件。

结果:

在此处输入图像描述

DataGridView :有一个名为DataGridViewImageColumn的ColumnType,可用于显示状态图标。

 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 }); } 

如何:在Windows窗体DataGridView控件的单元格中显示图像

ListView:可以添加由text + image组成的项目。 如果使用ListView,则需要将imageList组件添加到表单中(包含图像)并调用其imageKey值,如示例所示

 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"); } 

如何:显示Windows窗体ListView控件的图标

它没有直接支持。 但是,您可以使用DrawItem事件手动绘制列表中的每个项目; 这将允许您使用Graphics.DrawImage为每个项目包含图像。