본문 바로가기

IT프로그래밍

[C#]C# listBox items Remove RemoveAt, Clear - 리스트 박스 값 빼기

리스트 박스에 값을 삽입시키는 방법에 이어

리스트 박스에 들어가 있는 값을 삭제시키는 방법에 대해서 알아 보겠습니다.

C# ListBox Add 예제

 

[C#]C# listBox items add - 리스트 박스에 값 넣기

C# 리스트 박스 컨트롤러에 값을 넣는 2가지 방법 에 대해서 알아보겠습니다. 1. Visual Studio listBox 속성에서 값을 넣기(항목 지정 후 변경되지 않을 때 사용) 표출만을 목적으로 하고, 넣은 값이 바뀌지 않는..

manniz.tistory.com

 

리스트 박스 아이템을 삭제 시키는 3가지 방법에 대해 알아보기 위해 다음과 같은 폼디자인을 만듭니다

리스트박스의 컬렉션에 값을 넣은 것이며, 해당 값을 넣는 방법은 바로 위에 링크를 걸어둔 포스팅에 있으니 참조바랍니다.

 

앞에서 말씀드린 것처럼 리스트 박스의 아이템을 삭제시키는 방법에는 3가지가 있습니다.


1. 리스트박스 아이템의 이름으로 지우기

소스코드

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Test_003
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Remove(textBox1.Text);
        }

    }
}

 

실행결과

삼양라면을 누르고 버튼을 클릭하면

다음과 같이 해당 아이템이 없어진 것을 확인 할 수 있습니다.

 

ListBox.Items.Remove(object)를 통해서 리스트 박스 내 아이템을 삭제 할 수 있습니다.

 


2. 리스트 박스 아이템의 인덱스로 삭제시키기

폼디자인

1번 예제 유지시키면서 그 아래 컨트롤러를 더 달았습니다.

 

소스 코드

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Test_003
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Remove(textBox1.Text);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.RemoveAt(Convert.ToInt32(textBox2.Text));
        }

    }
}

 

Button2 클릭 이벤트를 보시면 1과는 다르게 Remove가 아니라 RemoveAt인걸 확인 하실 수 있습니다.

int를 파라미터로 갖기 때문에 textbox2의 text를 int32형으로 컨버팅하여 사용하도록 하였습니다.

 

실행 결과

여기에서 진라면을 RemoveAt을 통해 삭제시켜 보려면

0 - 신라면

1 - 진라면

2 - 삼양라면

3 - 열라면

4 - 짜파게티

의 인덱스를 갖고 있으므로 1을 입력하여야 합니다.

1을 입력하고 button2를 클릭해보겠습니다.

 

진라면이 삭제 된것을 확인할 수 있습니다.

ListBox.Items.RemoveAt(int)를 통해서 해당 인덱스 번호를 리스트박스에서 삭제 시키는 것을 확인 할 수 있었습니다.


3. 모두 다 지우기

리스트 박스의 아이템을 한번에 모두 지우는 방법 입니다.

 

폼디자인

소스코드

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Test_003
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            listBox1.Items.Remove(textBox1.Text);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Items.RemoveAt(Convert.ToInt32(textBox2.Text));
        }

        private void button3_Click(object sender, EventArgs e)
        {
            listBox1.Items.Clear();
        }

    }
}

 

ListBox.Items.Clear()를 사용하게 됩니다.

특정 아이템을 지우는 것이 아니라 해당 리스트 박스의 모든 아이템을 삭제 시킵니다.

파라미터 값은 갖기 않습니다.

 

실행 결과

bottuon3을 클릭하면

ListBox1의 모든 아이템이 삭제 됩니다.

 

이상 C# 리스트박스 아이템 삭제 방법 3가지에 대해 알아 보았습니다.

 

다음에는 리스트 박스에서 선택된 아이템의 값을 가져오는 방법에 대해 말씀드리겠습니다.