如何将图像添加到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
为每个项目包含图像。