[C#]
private void CreateMyListView()
{
    // Create a new ListView control.
    ListView listView1 = new ListView();
    listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200));
    // Set the view to show details.
    listView1.View = View.Details;
    // Allow the user to edit item text.
    listView1.LabelEdit = true;
    // Allow the user to rearrange columns.
    listView1.AllowColumnReorder = true;
    // Display check boxes.
    listView1.CheckBoxes = true;
    // Select the item and subitems when selection is made.
    listView1.FullRowSelect = true;
    // Display grid lines.
    listView1.GridLines = true;
    // Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending;
    // Create three items and three sets of subitems for each item.
    ListViewItem item1 = new ListViewItem("item1",0);
    // Place a check mark next to the item.
    item1.Checked = true;
    item1.SubItems.Add("1");
    item1.SubItems.Add("2");
    item1.SubItems.Add("3");

    ListViewItem item2 = new ListViewItem("item2",1);
    item2.SubItems.Add("4");
    item2.SubItems.Add("5");
    item2.SubItems.Add("6");
    ListViewItem item3 = new ListViewItem("item3",0);
    // Place a check mark next to the item.
    item3.Checked = true;
    item3.SubItems.Add("7");
    item3.SubItems.Add("8");
    item3.SubItems.Add("9");
    // Create columns for the items and subitems.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);
    //Add the items to the ListView.
          listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});
    // Create two ImageList objects.
    ImageList imageListSmall = new ImageList();
    ImageList imageListLarge = new ImageList();
    // Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp"));
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp"));
    //Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge;
    listView1.SmallImageList = imageListSmall;
    // Add the ListView to the control collection.
    this.Controls.Add(listView1);
}

 

설명

ListView 컨트롤을 사용하면 항목 텍스트를 사용하여 항목 목록을 표시할 수 있으며 선택적으로 항목의 형식을 식별하는 아이콘을 표시할 수 있습니다. 예를 들어, Windows 탐색기의 파일 목록은 ListView 컨트롤의 모양과 비슷합니다. 탐색기는 트리에서 현재 선택한 파일과 폴더 목록을 표시합니다. 각 파일 및 폴더는 해당 항목과 연결된 아이콘을 표시하므로 파일 또는 폴더의 형식을 쉽게 확인할 수 있습니다. ListViewItem 클래스는 ListView 컨트롤 내에 있는 항목을 나타냅니다.

목록에 항목을 표시할 때 네 개의 서로 다른 보기를 사용하여 표시할 수 있습니다. 큰 아이콘, 작은 아이콘 또는 세로 목록의 작은 아이콘으로 항목을 표시할 수 있습니다. 또한 항목에는 부모 항목과 관련된 정보가 들어 있는 하위 항목이 있을 수 있습니다.

넷째 보기 스타일인 자세히 보기를 사용하면 하위 항목에 표시되는 정보를 식별하는 열 머리글이 있는 표 형식으로 항목과 하위 항목을 표시할 수 있습니다. ListView 는 단일 또는 다중 선택을 지원합니다.

다중 선택 기능을 사용하면 ListBox 컨트롤에서 사용하는 방법과 유사한 방법으로 항목 목록에서 선택할 수 있습니다. 또한, 선택한 항목을 활성화하여 작업을 수행할 수 있습니다. 예를 들어, ListView 컨트롤을 사용하면 응용 프로그램에서 열어 이용할 수 있도록 파일 목록을 표시할 수 있습니다. 열 파일을 선택하고 두 번 클릭하여 활성화하면 해당 파일을 응용 프로그램에서 열 수 있습니다. 또한 CheckBoxes 속성을 사용하면 ListView에서 작업할 항목을 선택할 수 있는 확인란을 표시할 수 있습니다. ListView 컨트롤을 다양한 방법으로 사용할 수 있습니다. 이 컨트롤을 사용하여 응용 프로그램, 데이터베이스 또는 텍스트 파일 정보를 표시할 수 있습니다. 또한 ListView를 사용하여 처리할 일련의 파일을 선택하는 것과 같은 사용자로부터의 정보를 얻을 수 있습니다.

ListView 에는 모양과 동작에 융통성을 제공하는 많은 속성이 있습니다. View 속성을 사용하면 항목이 표시되는 방법을 변경할 수 있습니다. LargeImageList, SmallImageListStateImageList 속성을 사용하면 항목에 대해 표시되는 이미지가 들어 있는 ImageList 개체를 지정할 수 있습니다. StateImageList의 경우 CheckBoxes 속성이 true 이면 확인란이 표시됩니다.

CheckedItems 속성을 사용하여 ListView.CheckedListViewItemCollection 컬렉션에 액세스하면 어떤 항목이 선택되었는지 확인할 수 있습니다. Columns 속성을 사용하면 ListView.ColumnHeaderCollection에 액세스할 수 있습니다.

이 컬렉션에는 컨트롤의 View 속성이 View.Details로 설정된 경우 표시되는 열 머리글이 저장되어 있습니다. ListView 항목은 Items 속성을 사용하여 추가하거나 제거합니다. Items 속성을 사용하면 컨트롤에 있는 항목을 조작하는 메서드를 제공하는 컨트롤의 ListView.ListViewItemCollection에 액세스할 수 있습니다.

LabelEdit 속성을 사용하면 항목 텍스트를 편집할 수 있도록 할 수 있습니다. 컨트롤에 많은 수의 항목이 들어 있는 경우 항목을 정렬된 목록으로 표시하는 것이 더 편리할 수 있습니다. Sorting 속성을 사용하여 항목을 사전순으로 정렬할 수 있습니다.

ListView 컨트롤의 많은 속성은 컨트롤의 View 속성이 View.Details로 설정된 경우 사용됩니다. AllowColumnReorder 속성을 사용하면 런타임에 ListView 컨트롤의 열 순서를 다시 구성할 수 있습니다. FullRowSelect 속성을 사용하면 항목만이 아니라 항목과 해당 항목의 하위 항목을 모두 선택할 수 있습니다. GridLines 속성을 사용하면 자세히 보기에 모눈선을 표시하여 ListView에서 항목과 하위 항목의 경계를 구분할 수 있습니다. HeaderStyle 속성을 사용하면 표시할 열 머리글의 형식을 지정할 수 있습니다.

ListView 컨트롤에 사용할 수 있는 많은 속성 이외에도 응용 프로그램에서 ListView에 추가 기능을 제공하는데 사용할 수 있는 메서드와 이벤트가 있습니다. BeginUpdateEndUpdate 메서드를 사용하면 항목을 추가할 때마다 컨트롤을 다시 그리지 않고 많은 항목을 ListView에 추가할 수 있습니다. 따라서, 속도가 빨라집니다.

ListView 컨트롤에 항목과 하위 항목이 표시되면 하위 항목을 마우스 오른쪽 단추로 클릭할 때 기능을 제공해야 할 경우가 있습니다. GetItemAt 메서드를 사용하면 클릭한 하위 항목이 속한 항목을 확인할 수 있습니다. 항목이 편집된 후 항목의 유효성 검사를 수행할 경우 변경할 특정 항목을 표시할 수 있습니다. 특정 항목이 컨트롤의 보이는 영역에 있도록 하려면 EnsureVisible 메서드를 호출합니다.

LabelEdit 속성이 true로 설정되어 있으면 BeforeLabelEditAfterLabelEdit 이벤트에 대한 이벤트 처리기를 만들어 텍스트가 변경되기 전과 변경된 후에 텍스트의 유효성을 검사하는 등의 작업을 수행할 수 있습니다.

ListView에 표시된 항목을 편집할 수 있도록 파일을 열거나 대화 상자를 표시하려면 ItemActivate 이벤트에 대한 이벤트 처리기를 만듭니다. ListView에서 열 머리글을 클릭하면 항목이 정렬되게 하려면 ColumnClick에 대한 이벤트 처리기를 만들어 정렬을 수행합니다. CheckBoxes 속성이 true로 설정되어 있는 경우 ItemCheck 이벤트를 사용하여 항목의 확인란 상태가 변경되는 시기를 결정할 수 있습니다.

 

event

따블클릭해서 셀렉트한 아이템 불러오기~

  private void listView1_DoubleClick(object sender, System.EventArgs e)
  {
   if( this.listView1.FocusedItem.Selected)
   {
    this.label1.Text = this.listView1.SelectedItems[0].Text;
   }

  }

+ Recent posts