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

因此,为了管理状态,我想将图像(在线-绿色圆圈,离开-红色圆圈)添加到ListBox(这是我的想法)

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

谢谢。

最佳答案

您不能在ListBox中轻松地做到这一点。使用“图形”绘制它们根本不容易。我建议改用DataGridViewListView控件。

结果:

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

How to: Display Images in Cells of the Windows Forms DataGridView Control

ListView:可以添加由文本+图像组成的项目。如果使用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");
}

How to: Display Icons for the Windows Forms ListView Control

关于c# - 如何将图像添加到System.Windows.Forms.ListBox?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20821143/

10-12 12:49
查看更多