Introduction
First look at the form.
You can see that items are displayed in dependent groups.

Now for the code.
Code
Crete an ImageList for storing images in the ListView.
- System.Windows.Forms.ImageList myImageList1 = new ImageList();
Set the image size of the images to be displayed in the ListView.
- myImageList1.ImageSize = new Size(64, 64);
Code
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\01.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\02.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\03.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\04.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\05.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\06.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\07.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\08.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\09.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\10.PNG"));
- System.Windows.Forms.ImageList myImageList2 = new ImageList();
- myImageList2.ImageSize = new Size(32, 32);
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\01.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\02.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\03.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\04.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\05.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\06.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\07.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\08.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\09.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\10.PNG"));
- myListView.LargeImageList = myImageList1;
- myListView.SmallImageList = myImageList2;
- myListView.Items.Add("Item 1", 0);
- myListView.Items.Add("Item 2", 1);
- myListView.Items.Add("Item 3", 2);
- myListView.Items.Add("Item 4", 3);
- myListView.Items.Add("Item 5", 4);
- myListView.Items.Add("Item 6", 5);
- myListView.Items.Add("Item 7", 6);
- myListView.Items.Add("Item 8", 7);
- myListView.Items.Add("Item 9", 8);
- myListView.Items.Add("Item 10", 9);
You can also create Groups in the ListView. If you want to add the Groups in the ListView then the following code will be helpful for you.
In the following code I have created two ListViewGroups with its name & its alignment in the ListView.
Code
- ListViewGroup myLVGroup1 = new ListViewGroup("First Five Group", HorizontalAlignment.Left);
- ListViewGroup myLVGroup2 = new ListViewGroup("Last Five Group", HorizontalAlignment.Left);
- myListView.Groups.AddRange(new ListViewGroup[] { myLVGroup1, myLVGroup2 });
Code
- myListView.Items[0].Group = myListView.Groups[0];
- myListView.Items[1].Group = myListView.Groups[0];
- myListView.Items[2].Group = myListView.Groups[0];
- myListView.Items[3].Group = myListView.Groups[0];
- myListView.Items[4].Group = myListView.Groups[0];
Code
- myListView.Items[5].Group = myListView.Groups[1];
- myListView.Items[6].Group = myListView.Groups[1];
- myListView.Items[7].Group = myListView.Groups[1];
- myListView.Items[8].Group = myListView.Groups[1];
- myListView.Items[9].Group = myListView.Groups[1];
Code
- private void rbLargeIcon_CheckedChanged(object sender, EventArgs e)
- {
- if (rbLargeIcon.Checked == true)
- {
- myListView.View = View.LargeIcon;
- }
- }
Code
- myListView.View = View.List;
- myListView.View = View.SmallIcon;
- myListView.View = View.Tile;
Code
- foreach (ListViewItem item in myListView.SelectedItems)
- {
- MessageBox.Show(item.Text.ToString());
- }
Code
- using System;
- using System.Drawing;
- using System.Windows.Forms;
- namespace Article
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- System.Windows.Forms.ImageList myImageList1 = new ImageList();
- myImageList1.ImageSize = new Size(64, 64);
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\01.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\02.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\03.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\04.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\05.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\06.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\07.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\08.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\09.PNG"));
- myImageList1.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\10.PNG"));
- System.Windows.Forms.ImageList myImageList2 = new ImageList();
- myImageList2.ImageSize = new Size(32, 32);
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\01.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\02.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\03.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\04.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\05.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\06.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\07.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\08.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\09.PNG"));
- myImageList2.Images.Add(Image.FromFile(@"C:\Users\Indus_User\Desktop\Icons\W\10.PNG"));
- myListView.LargeImageList = myImageList1;
- myListView.SmallImageList = myImageList2;
- myListView.Items.Add("Item 1", 0);
- myListView.Items.Add("Item 2", 1);
- myListView.Items.Add("Item 3", 2);
- myListView.Items.Add("Item 4", 3);
- myListView.Items.Add("Item 5", 4);
- myListView.Items.Add("Item 6", 5);
- myListView.Items.Add("Item 7", 6);
- myListView.Items.Add("Item 8", 7);
- myListView.Items.Add("Item 9", 8);
- myListView.Items.Add("Item 10", 9);
- ListViewGroup myLVGroup1 = new ListViewGroup("First Five Group", HorizontalAlignment.Left);
- ListViewGroup myLVGroup2 = new ListViewGroup("Last Five Group", HorizontalAlignment.Left);
- myListView.Groups.AddRange(new ListViewGroup[] { myLVGroup1, myLVGroup2 });
- myListView.Items[0].Group = myListView.Groups[0];
- myListView.Items[1].Group = myListView.Groups[0];
- myListView.Items[2].Group = myListView.Groups[0];
- myListView.Items[3].Group = myListView.Groups[0];
- myListView.Items[4].Group = myListView.Groups[0];
- myListView.Items[5].Group = myListView.Groups[1];
- myListView.Items[6].Group = myListView.Groups[1];
- myListView.Items[7].Group = myListView.Groups[1];
- myListView.Items[8].Group = myListView.Groups[1];
- myListView.Items[9].Group = myListView.Groups[1];
- }
- private void rbLargeIcon_CheckedChanged(object sender, EventArgs e)
- {
- if (rbLargeIcon.Checked == true)
- {
- myListView.View = View.LargeIcon;
- }
- }
- private void rbList_CheckedChanged(object sender, EventArgs e)
- {
- if (rbList.Checked == true)
- {
- myListView.View = View.List;
- }
- }
- private void rbSmallIcon_CheckedChanged(object sender, EventArgs e)
- {
- if (rbSmallIcon.Checked == true)
- {
- myListView.View = View.SmallIcon;
- }
- }
- private void rbTile_CheckedChanged(object sender, EventArgs e)
- {
- if (rbTile.Checked == true)
- {
- myListView.View = View.Tile;
- }
- }
- private void myListView_SelectedIndexChanged(object sender, EventArgs e)
- {
- foreach (ListViewItem item in myListView.SelectedItems)
- {
- MessageBox.Show(item.Text.ToString());
- }
- }
- }
- }



When the user clicks on a particular item then it will display the messagebox with that item name.
Depending on this kind of code you will write your own logic. The code is written in the above part in the "myListView_SelectedIndexChanged" event.

In the following image you can see the selected item in the red rectangle.


David MaisonavePosted Apr 23, 2025, 4:54 AM
Great job!!!This solution already had 90% of the implementation I was looking for in order to write an emulator launching program. Thank you.
Santosh KokatnurPosted Feb 17, 2016, 2:46 AM
Nice Infi
Priyaranjan K SPosted Oct 9, 2015, 1:56 PM
Good One ...
AvijitPosted Mar 12, 2015, 8:35 AM
nice
Vithal WadjePosted Jan 1, 2013, 3:55 AM
good
Loc nGuyenPosted Jun 29, 2012, 3:01 AM
Thank you a lot
Monika AroraPosted Feb 16, 2012, 10:59 PM
You have presented your article very nicely.
Nitin SinghPosted Feb 16, 2012, 10:46 PM
Really this is useful stuff, thanks for sharing...