C#

025_ListBox

iwannabebackendexpert 2022. 4. 6. 00:34

listbox를 이용해서 각 리스트 박스의 인덱스 번호와 아이템명을 가지고오자

 

도구상자에서 form으로 ListBox 와 TextBox를 가지고와서 배치 해주자.

속성창 - 디자인 - Name을 나중에 설정하기 쉽게 listBox1 .. 2... 3으로 바꿔준다.

인덱스와 아이템을 표현하기 위한 TextBox도 잘 배치해 Name을 txtSitem1..2..3 / txtSindex 1,,,2,,,,3 이런식으로 바꿔준다

원래 처음 배치시 listBox는 이런식으로 비어서 표현이 되는데 값을 채워줘야한다.

list value를 채우는 방법은 총 세가지이다.

1) Form 디자인 창에서 문자열 컬렉션 편집기를 이용해서 추가하기

 - 리스트박스를 눌러 우상단의 네모 버튼을 눌러 편집한다.

2) Form1 생성자안에 작성하기 ( 최적 )

 public Form1() //생성자 함수 - 객체생성시 자동실행 / form이 뜨자마자 하는 작업은 생성자함수에서 작업하기
{

InitializeComponent(); 
listBox2.Items.Add("오클랜드(뉴질랜드)");
listBox2.Items.Add("오사카(일본)");
listBox2.Items.Add("아델레이드(호주)");
listBox2.Items.Add("웰링턴(뉴질랜드)");
listBox2.Items.Add("도쿄(일본)");
listBox2.Items.Add("퍼스(호주)");
listBox2.Items.Add("취리히(스위스)");
listBox2.Items.Add("제너바(스위스)");
listBox2.Items.Add("멜버른(호주)");
listBox2.Items.Add("브리즈번(호주)");
}

listbox.Items.Add("")는  Form1_Load창에서도 가능

3) DataSource를 사용해 값 입력하기

 List<string> happiness = new List<string>() //class 의 형태
            {
                "핀란드","덴마크","아이슬란드","스위스","네덜란드","룩셈부르크","스웨덴","노르웨이","이스라엘","뉴질랜드"
            };
            listBox3.DataSource = happiness;
        }

class의 형태로써 happiness 객체를 만들어 값을 넣고 DataSource함수를 이용해 listbox3에 입력해준다.

-------

인덱스와 아이템명 띄우기

 

1. 리스트 박스를 클릭하고 속성의 이벤트 설정창에서 TextChanged의 목록중 "listBox1_SelectedIndexChanged"를 눌러 메소드를 생성해준다. 이는 listBox1를 클릭하면 이벤트가 발생하고 이 메소드가 실행된다는 뜻이다. 

listbox 1,2,3 모두 메소드를 만들어준다

2.

ListBox i = sender as ListBox
txtindex1.Text = i.SelectedIndex.ToString();
txtitem1.Text = i.SelectedItem.ToString();

첫번째 코드는 ListBox형의 객체 i 를 선언하고 / sender(이벤트를 보내는 객체) 를 ListBox형으로 하겠다는 뜻이다.

결국 리스트박스에서 값을 선택하면 sender를 통해 i로 전달된다는 뜻이다.

 

txtindex1.Text = i.SelectedIndex > i를 SelectedIndex로 Tostring해서 txtindex1의 텍스트로 전달하겠다는 뜻.

아이템값은 txtitem1.Text = i.SelectedItem.ToString(); 으로 전달.

다른폼도 이름만 변경하여 지정하면 정상적으로 폼을 완성할수있다.

'C#' 카테고리의 다른 글

027_ComboBox를 이용한 성적계산기  (0) 2022.04.06
026_ComboBox  (0) 2022.04.06
024_scrollBar  (0) 2022.03.30
023_ScoreCalculator  (0) 2022.03.30
022_Radiobutton & GroupBox  (0) 2022.03.30