Blog Content

    티스토리 뷰

    09.C#_WinForm - ComBoBox 와 ListBox

    반응형

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


    추가 - 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
    다운로드

    반응형

    Comments