C#

09.C#_WinForm - ComBoBox 와 ListBox

Godffs 2009. 8. 24. 17:29
반응형

콤보박스와 리스트 박스에 관련 예제 입니다.
콤보박스와 리스트박스 두개 모두 리스트를 하나씩 선택 한 후 확인 버튼 클릭하여
선택한 목록을 메세지 박스로 띄우는 예제입니다.


추가 - DialogResult 속성


WinForm을 새로 추가 한 후 디자인합니다.


FrmComboxListBox.Designer.cs
[그림9-1]
        private System.Windows.Forms.Label lstOutput;
        private System.Windows.Forms.Button btnOK;
        private System.Windows.Forms.TextBox txtRead;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.ListBox lstIconBox;
        private System.Windows.Forms.ComboBox cboBox;

콤보박스와 리스트 박스에 목록을 추가 하는 방법으로 두가지 알려드리겠습니다.
직접 코딩으로 작성 할 수 있으며, 속성에서 추가하는 방법이 있습니다.

직접 코딩
해당 폼 Load 이벤트에 작성합니다. 폼이 불러올때 실행되는 이벤트가 Load() 입니다.
Load이벤트 안에 작성하게 되면 폼이 처음 실행 할 때 코딩한 결과를 출력하기 위함입니다.

-ComBox 기본-
cboBox.Items.Add("안녕!");

-ListBox 기본-
lstIconBox.Items.Add("안녕하세요!");
컨트롤 속성
   Combox와 List 공통으로 속성 - Items - 값을 입력합니다.

[그림9-2]
FrmComboxListBox.cs
private void FrmComboListBox_Load(object sender, EventArgs e)
{      //동적으로 아이콘의 종류를 리스트박스에 초기화
        lstIconBox.Items.Add(MessageBoxIcon.Error.ToString());
        lstIconBox.Items.Add(MessageBoxIcon.Information.ToString());
        lstIconBox.Items.Add(MessageBoxIcon.Stop.ToString());
        lstIconBox.Items.Add(MessageBoxIcon.Question.ToString());
        lstIconBox.Items.Add(MessageBoxIcon.Warning.ToString());
}

private void btnOK_Click(object sender, EventArgs e)
{
        if (cboBox.SelectedIndex != -1 && lstIconBox.SelectedIndex != -1)
        {
            //선택되지 않으면 -1값을 반환한다. 예외처리 해줌
            string btn = cboBox.Items[cboBox.SelectedIndex].ToString();
            string icon = lstIconBox.Items
                               [lstIconBox.SelectedIndex].ToString();

            //Process
            MessageBox.Show(string.Format(
                "버튼 : {0}, 아이콘 : {1}", btn, icon));

        }
        else {
                    DialogResult result =
                        MessageBox.Show(

                        "콤보박스와 리스트 박스를 선택해주세요.",
                        "제목", MessageBoxButtons.OKCancel);

                //DialogResult 확인과 취소에 따른 결과값을 간단하게 출력
                if (result == DialogResult.OK) {
                    lstOutput.Text = "확인 클릭";
                }
                else if (result == DialogResult.Cancel) {
                    lstOutput.Text = "취소 클릭";
                }
        }
}


Combox에서는 속성-Items에서 추가, ListBox에서는 코드로 직접 입력






결과확인
[그림9-4]

[그림9-5]

09WinFrmMain.zip
다운로드

반응형