C# 강좌 : 제 4강 - ComboBox & ListBox

   

프로젝트 구성

1 도구상자에서 ComboBox, ListBox, LabelForm1에 생성합니다. 위의 이미지와 같이 배치합니다.

2 속성을 다음과 같이 설정합니다.

  1. ComboBox

    • (name) : cmbx
    • Text : 선택하세요.
    • Items : 1번 목록, 2번 목록, 3번 목록, 4번 목록
  2. ListBox

    • (name) : lbtx
  3. Label (1번)

    • (name) : lbl_select
    • Text : 선택 :
  4. Label (2번)

    • (name) : lbl_info
    • Text : -
  • Tip : ListBox의 Items는 한 줄에 하나씩 입력해야 목록으로 저장됩니다.

3 ComboBox를 더블클릭하여 이벤트를 생성합니다.

private void cmbx_SelectedIndexChanged(object sender, EventArgs e)
{
	ltbx.Items.Clear();
	
	string[] lst1 = { "1-1번", "1-2번", "1-3번" };
	string[] lst2 = { "2-1번", "2-2번", "2-3번" };	
	string[] lst3 = { "3-1번", "3-2번", "3-3번" };
	string[] lst4 = { "4-1번", "4-2번", "4-3번" };

	if(cmbx.SelectedIndex == 0) ltbx.Items.AddRange(lst1);
	if(cmbx.SelectedIndex == 1) ltbx.Items.AddRange(lst2);
	if(cmbx.SelectedItem == "3번 목록") ltbx.Items.AddRange(lst3);
	if(cmbx.SelectedIndex == 3) ltbx.Items.AddRange(lst4);

}
ltbx.Items.Clear();

ListBox의 목록을 초기화 시키는 코드입니다.

string[] lst1 = { "1-1번", "1-2번", "1-3번" };
string[] lst2 = { "2-1번", "2-2번", "2-3번" };
string[] lst3 = { "3-1번", "3-2번", "3-3번" };
string[] lst4 = { "4-1번", "4-2번", "4-3번" };

lst라는 배열을 생성하여 ListBox에 들어갈 목록을 만듭니다.

if(cmbx.SelectedIndex == 0) ltbx.Items.AddRange(lst1);

선택된 Index를 비교하여 ListBox의 목록에 한 번에 저장합니다. 여기서 Index의 번호는 1번이 아니라 0번부터 시작합니다. 즉, 맨 위 목록이 0번 입니다.

if(cmbx.SelectedItem == "3번 목록") ltbx.Items.AddRange(lst3);

Index의 값으로 비교가 아닌 선택된 Item의 이름으로 비교하는 방법입니다. 목록이 너무 많은 경우 직관적으로 코딩할 수 있습니다.

  • Tip : 목록의 이름이 일치하지 않으면 생성되지 않습니다.

4 ListBox에서 선택된 Item을 Label에 띄우는 작업입니다. ListBox를 더블클릭하여 이벤트를 생성합니다.

private void ltbx_SelectedIndexChanged(object sender, EventArgs e)
{
	lbl_info.Text = Convert.ToString(ltbx.SelectedItem);
}

ListBox에서 선택된 Item의 Index가 바뀔 때 마다 실행되는 이벤트입니다. 그 때 마다, lbl_info의 Text를 ListBox에서 선택된 Item의 이름으로 변합니다.

Convert.ToString(ltbx.SelectedItem);

Convert.ToString()은 문자열(string) 형식으로 변환해줍니다. 변환해주지 않으면 작동되지 않습니다.



도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post C# 강좌 : 제 5강 - RadioButton & CheckBox ⤧  Previous post C# 강좌 : 제 3강 - 프로젝트 구성