반응형
Windows Forms 애플리케이션을 개발할 때, ComboBox 컨트롤에 항목을 추가하는 것은 매우 일반적인 작업입니다. 다양한 방법으로 ComboBox에 아이템을 추가할 수 있으므로, 상황에 맞는 적절한 방법을 선택해야 합니다. 이번 포스팅에서는 일반적인 ComboBox 아이템 추가 방법들을 살펴보겠습니다.
1. 단순 문자열 추가
가장 기본적인 방법은 문자열을 하나씩 추가하는 것입니다:
comboBox1.Items.Add("Item 1");
comboBox1.Items.Add("Item 2");
comboBox1.Items.Add("Item 3");
2. 여러 항목 한 번에 추가
문자열 배열을 한 번에 추가할 수도 있습니다:
string[] items = { "Item 1", "Item 2", "Item 3" };
comboBox1.Items.AddRange(items);
3. 리스트로부터 추가
List에 저장된 값들을 ComboBox에 추가할 수 있습니다:
List<string> itemList = new List<string> { "Item 1", "Item 2", "Item 3" };
comboBox1.DataSource = itemList;
4. 객체 리스트 사용 (DisplayMember와 ValueMember 사용)
복잡한 데이터 구조를 ComboBox에 바인딩할 수 있습니다. 이 경우 DisplayMember와 ValueMember 속성을 사용하여 화면에 표시할 텍스트와 실제 값을 지정할 수 있습니다:
public class ComboItem
{
public string Text { get; set; }
public int Value { get; set; }
}
List<ComboItem> items = new List<ComboItem>
{
new ComboItem { Text = "Item 1", Value = 1 },
new ComboItem { Text = "Item 2", Value = 2 },
new ComboItem { Text = "Item 3", Value = 3 }
};
comboBox1.DataSource = items;
comboBox1.DisplayMember = "Text";
comboBox1.ValueMember = "Value";
5. Dictionary 사용
Dictionary<string, int>를 ComboBox의 데이터 소스로 사용할 수 있습니다. 이 경우에도 DisplayMember와 ValueMember를 지정해야 합니다.
Dictionary<string, int> items = new Dictionary<string, int>
{
{ "Item 1", 1 },
{ "Item 2", 2 },
{ "Item 3", 3 }
};
comboBox1.DataSource = new BindingSource(items, null);
comboBox1.DisplayMember = "Key";
comboBox1.ValueMember = "Value";
6. ComboBox 초기화 후 아이템 추가
기존에 추가된 아이템을 모두 제거하고 새로운 아이템을 추가할 수 있습니다:
comboBox1.Items.Clear(); // 기존 항목 모두 제거
comboBox1.Items.AddRange(new string[] { "Item 1", "Item 2", "Item 3" });
7. 폼 로드 시 아이템 추가
폼이 로드될 때 ComboBox에 아이템을 추가할 수 있습니다:
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.AddRange(new string[] { "Item 1", "Item 2", "Item 3" });
}
선택한 후 기본 선택 항목 설정
ComboBox에 아이템을 추가한 후 기본 선택된 아이템을 지정할 수 있습니다:
comboBox1.SelectedIndex = 0; // 첫 번째 항목 선택
// 또는
comboBox1.SelectedItem = "Item 2"; // 특정 항목 선택
'C# > Window' 카테고리의 다른 글
단일 이벤트 핸들러로 여러 개의 라디오 버튼 관리하기 (0) | 2024.07.31 |
---|---|
.NET 프로젝트의 출력 폴더 이름 변경하기 (0) | 2024.07.28 |
Windows Forms PictureBox (3) | 2024.07.24 |
RichTextBox에 텍스트 추가하고 자동 스크롤하기 (0) | 2024.07.23 |
비동기 프로그래밍에서 Task.Delay의 독립적인 실행 (0) | 2024.07.22 |