다음을 통해 공유


방법: 대화 상자에서 데이터 검색

업데이트: 2007년 11월

대화 상자를 사용하면 프로그램이 사용자와 상호 작용을 하고 사용자 응용 프로그램에서 사용하기 위해 대화 상자에 입력한 데이터를 검색할 수 있습니다. 사용자 응용 프로그램에서 사용할 수 있는 몇 가지 기본 대화 상자가 제공됩니다. 자세한 내용은 응용 프로그램에서 기본 제공 대화 상자 사용을 참조하십시오. 또한 사용자 고유의 대화 상자를 만들 수 있습니다.

Windows Forms 개발의 일반적인 작업은 대화 상자를 표시하여 사용자가 응용 프로그램의 기본 폼에 있는 단추를 클릭할 때 정보를 수집하는 것입니다. Visual C# Express Edition IDE에서 이 작업에 대한 예를 볼 수 있습니다. ListBox 컨트롤을 폼에 추가하려면 속성 창의 항목 속성을 클릭하여 대화 상자를 표시합니다. 이 대화 상자를 사용하여 텍스트 상자의 각 줄에 텍스트를 빠르게 입력할 수 있습니다. 그런 다음 확인을 클릭하면 응용 프로그램에서 각 텍스트 줄을 ListBox 컨트롤에 추가합니다. 응용 프로그램의 목록 상자에 사용자가 자신의 항목을 추가할 수 있게 하려면 고유의 문자열 편집기 대화 상자를 만듭니다.

사용자 응용 프로그램의 기본 폼을 만들려면

  1. 파일 메뉴에서 새 프로젝트를 클릭합니다.

    새 프로젝트 대화 상자가 나타납니다.

  2. Windows Forms 응용 프로그램, 확인을 차례로 클릭합니다.

    Form1이란 폼이 프로젝트에 추가됩니다.

  3. 도구 상자에서 ListBox 컨트롤을 폼으로 끌어 온 다음 속성 창에서 다음 속성을 변경합니다.

    속성

    Modifiers

    Public

  4. 폼에 Button 컨트롤을 추가하고 속성 창에서 다음 속성을 변경합니다.

    속성

    Name

    addItems

    Text

    Add

대화 상자를 만들려면

  1. 프로젝트 메뉴에서 Windows Form 추가를 클릭하고 기본 이름 Form2를 그대로 둔 다음 추가를 클릭합니다.

  2. 도구 상자에서 Label 컨트롤을 폼으로 끌어 온 다음 Text 속성을 Enter the String (one per line)으로 변경합니다.

  3. TextBox 컨트롤을 폼에 추가한 다음 속성 창에서 다음 속성을 변경합니다.

    속성

    Multiline

    True

    ScrollBars

    Both

    Size

    255, 160

  4. Button 컨트롤을 폼에 추가한 다음 속성 창에서 다음 속성을 변경합니다.

    속성

    Name

    okButton

    Text

    OK

대화 상자에서 데이터 검색

Windows Form에서 다른 폼으로 데이터를 전달할 수 있는 방법은 여러 가지입니다. 이 예제에서는 Form1을 Form2의 생성자로 전달합니다.

대화 상자에서 데이터를 검색하려면

  1. OK 단추를 두 번 클릭하여 기본 Click 이벤트 처리기를 만듭니다.

    코드를 이 프로시저에 추가하기 전에 기본 폼의 변수를 만들고 Form2 클래스의 새 생성자를 만들어야 합니다.

  2. 다음 코드를 기본 생성자 아래에 추가합니다. 이 코드에서는 매개 변수로 Form1을 필요로 하는 오버로드된 생성자를 만듭니다.

    Form1 mainForm;
    
    public Form2(Form1 mainForm)
    {
        this.mainForm = mainForm;
        InitializeComponent();
    
    }
    
  3. okButton의 Click 이벤트 처리기에 다음 코드를 추가합니다. 이 코드에서는 목록 상자에서 기존 텍스트를 모두 지우고 Form2에 있는 텍스트 상자의 각 텍스트 줄을 배열에 할당한 다음 배열의 각 항목을 Form1의 목록 상자에 추가합니다.

    if (this.textBox1.Text != string.Empty)
    {
    
        mainForm.listBox1.Items.Clear();
    
        string[] stringsEntered = textBox1.Lines;
    
        for (int count = 0; count < stringsEntered.Length; count++)
        {
    
            mainForm.listBox1.Items.Add(stringsEntered[count]);
    
        }
    
    }
    this.Close();
    
  4. 솔루션 탐색기에서 Form1을 마우스 오른쪽 단추로 클릭한 다음 디자이너 보기를 클릭합니다.

  5. Add 단추를 두 번 클릭하여 기본 Click 이벤트 처리기를 추가하고 다음 코드를 추가하여 Form2의 인스턴스를 만든 다음 폼을 표시합니다.

    Form2 subForm = new Form2(this);
    subForm.Show();
    
  6. F5 키를 눌러 코드를 실행합니다.

  7. 폼이 열리면 Add를 클릭합니다.

  8. 대화 상자가 열리면 다음 색 목록을 입력하고 각 단어 뒤에서 Enter 키를 누릅니다.

    Blue

    Green

    Yellow

    Red

  9. 확인을 클릭합니다.

  10. 대화 상자에 입력한 데이터가 Form1의 목록 상자에 나타나는지 확인합니다.

  11. 응용 프로그램을 닫습니다.

참고 항목

개념

응용 프로그램에서 기본 제공 대화 상자 사용

Visual C#에서 사용자 인터페이스 디자인

기타 리소스

대화 상자(Visual C#)

Visual C# 둘러보기