Salve qualcuno mi potrebbe aiutare a cpire come funziona il controllo listview in C#.net?

il codice che posto qui in basso mi da errore

codice:
 

 listView1.Bounds = new Rectangle(new Point(30,30), new Size(400,300));
    listView1.View = View.Details;
    
   
   
    
    ListViewItem item1 = new ListViewItem();
    ListViewItem item2 = new ListViewItem();
    ListViewItem item3 = new ListViewItem();
    for (int i = 0; i < listaricette.Count; i++)
    {

        item1.SubItems[i].Text=listaricette[i].ToString();
       
    }
    

    
    listView1.Columns.Add("ID",-2,HorizontalAlignment.Center);
    listView1.Columns.Add("Nome",-2,HorizontalAlignment.Left);
    listView1.Columns.Add("Note",-2,HorizontalAlignment.Left);
    

   
            listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});

    
   

    
    

    
    this.Controls.Add(listView1);
QUalcuno mi può aiutare?

grazie ancora.