프로그램/C#

[C#] 콤보박스(ComboBox) 사용법

더월드 2023. 12. 16.

▶콤보박스 아이템 추가하기

- comboBox1.Items.Add("값") : 콤보박스에 아이템을 추가할 수 있습니다.

- comboBox1.SelectedIndex = 번호 (0번 부터) 사용하여 콤보박스 값을 선택할 수 있습니다.

namespace ComboBox_exam
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            
            // 콤보박스 아이템 추가하기
            comboBox_item_add();
            
            // 콤보박스 선택 변경하기
            // "과학자"를 선택한다.
            comboBox1.SelectedIndex = 0;
        }

        /// 콤보박스 아이템 추가하기
        private void comboBox_item_add()
        {
            comboBox1.Items.Add("과학자");
            comboBox1.Items.Add("선생님");            
            comboBox1.Items.Add("경찰");
            comboBox1.Items.Add("소방관");
        }


    }
}

 

▶콤보박스에서 선택한 아이템 값 가져오기

string combo_text = comboBox1.SelectedItem.ToString();

private void button1_Click(object sender, EventArgs e)
{
    string combo_text = comboBox1.SelectedItem.ToString();
}

 

▶콤보박스 스타일 변경하기

1. DropDown
2. DropDownList
3. Simple 형태가 있습니다.

// 콤보박스 스타일: 드롭다운 리스트
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; 
// 콤보박스 크기 설정하기
comboBox1.Size = new System.Drawing.Size(comboBox1.Width, 150);

// 콤보박스 테두리 스타일: Flat
comboBox1.FlatStyle = FlatStyle.Flat;

 

▶ 콤보박스 아이템 삭제하기

● Remove 메서드 사용
- 특정 아이템의 값을 알고 있다면 Remove 메서드를 사용하여 제거할 수 있습니다.

private void combo_item_clear()
{
    // 콤보박스 텍스트 값을 알고 있을때 삭제하는 방법
    comboBox1.Items.Remove("선생님");
}


● RemoveAt 메서드 사용:
- 특정 인덱스의 아이템을 삭제하려면 RemoveAt 메서드를 사용합니다.

private void combo_item_clear()
{
    // 콤보박스 인덱스 번호에 맞는 아이템을 삭제한다
    int indexToRemove = 1; // 삭제할 아이템의 인덱스
    comboBox1.Items.RemoveAt(indexToRemove);
}


● Clear 메서드 사용
- 모든 아이템을 삭제하려면 Clear 메서드를 사용합니다.

private void combo_all_clear()
{
    // 콤보박스 모든 아이템을 삭제한다
    comboBox1.Items.Clear();
}



● 콤보박스 데이터바인딩 사용
- 데이터바인딩된 콤보박스에서는 BindingList와 같은 컬렉션을 사용하여 아이템을 삭제할 수 있습니다.
- 아래 코드 예제에서 "선생님"은 실제 삭제하려는 아이템의 값에 해당합니다. 

private void combo_item_del()
{
    // 콤보박스 모든 아이템 중 "선생님"을 삭제한다
    BindingList<string> itemList = new BindingList<string>(comboBox1.Items.Cast<string>().ToList());
    itemList.Remove("선생님");
    comboBox1.DataSource = itemList;
}

댓글

💲 추천 글