Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在windows窗体c中向列表视图添加图标#_C#_Listview - Fatal编程技术网

C# 如何在windows窗体c中向列表视图添加图标#

C# 如何在windows窗体c中向列表视图添加图标#,c#,listview,C#,Listview,如何在Windows窗体c中向列表视图添加图标?我发现了一个名为“ObjectListView”的NuGet,但我不知道如何向其中添加项和子项。通过使用标准listview,我只能将图像添加到第一列 ListViewItem item = new ListViewItem(); item.ImageIndex = 0; this.listView1.Items.Add(item); 我正在尝试为这样的USB设备添加删除/重新启动等按钮 我需要

如何在Windows窗体c中向列表视图添加图标?我发现了一个名为“ObjectListView”的NuGet,但我不知道如何向其中添加项和子项。通过使用标准listview,我只能将图像添加到第一列

ListViewItem item = new ListViewItem();

            item.ImageIndex = 0;

            this.listView1.Items.Add(item);
我正在尝试为这样的USB设备添加删除/重新启动等按钮

我需要“删除”、“重新启动”、“卸载”列中的按钮/图像作为子项

通过使用此选项,我可以“切换”列,但仍然无法为多个列添加图像/按钮

 listView1.Columns[0].DisplayIndex = 1;
      //  listView1.Items.Add("tekst3", 3);
       // listView1.Items.Add("tekst2", 2);
        //listView1.Items.Add("tekst1", 1);
        for (int j = 0; j < 10; j++)

        {

            ListViewItem item = new ListViewItem();

            item.ImageIndex = 0;

            this.listView1.Items.Add(item);

        }
listView1.Columns[0].DisplayIndex=1;
//列表视图1.Items.Add(“tekst3”,3);
//列表视图1.Items.Add(“tekst2”,2);
//列表视图1.Items.Add(“tekst1”,1);
对于(int j=0;j<10;j++)
{
ListViewItem=新建ListViewItem();
item.ImageIndex=0;
this.listView1.Items.Add(item);
}

图像列表中添加了加载的文件(其中3个)并附加到列表视图小/大图像列表。

您必须分配图像列表

listView1.SmallImageList = imageList;

    for (int i = 0; i < listView1.Items.Count; i++ )
    {
      
            listView1.Items[i].ImageIndex =i;
    }
listView1.SmallImageList=imageList;
对于(int i=0;i
图像列表已分配: 您的代码将只向第一行添加图像。区别在于我必须单击第一列中的特定项

            for (int i = 0; i < listView1.Items.Count; i++)
            {

                listView1.Items[i].ImageIndex = i;

            }

        }

你有图像列表吗?是的。我将其添加到listview-小图标和大图标。这将只向第一列添加图像。我需要最后三列。为什么不显示添加图像的方式?private void Form1_Load(object sender,EventArgs e){listView1.columns[0]。DisplayIndex=1;//listView1.Items.add(“tekst3“,3);//listView1.Items.Add(“tekst2”,2);//listView1.Items.Add(“tekst1”,1);for(int j=0;j<10;j++){ListViewItem item=new ListViewItem();item.ImageIndex=0;this.listView1.Items.Add(item);}这将把它放在第三列,但仍然无法将按钮添加到下一列。如果这是错误的,我应该怎么做?
private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
    {
        // insert buttons to last two columns
        if (e.ColumnIndex == 1)
        {
            e.Graphics.FillRectangle(new SolidBrush(Color.Blue), e.Bounds);
        }

        else if (e.ColumnIndex == 2)
        {
            e.DrawBackground();
            var imageRect = new Rectangle(e.Bounds.X, e.Bounds.Y, 60, 20);
            //  e.Graphics.DrawImage(SystemIcons.Information.ToBitmap(), imageRect);
            e.Graphics.DrawImage(Resources.Remove_PNG, imageRect);
        }
        else
        {
            e.DrawDefault = true;
        }
    }