방법: 대화 상자에서 데이터 검색
업데이트: 2007년 11월
대화 상자를 사용하면 프로그램이 사용자와 상호 작용을 하고 사용자 응용 프로그램에서 사용하기 위해 대화 상자에 입력한 데이터를 검색할 수 있습니다. 사용자 응용 프로그램에서 사용할 수 있는 몇 가지 기본 대화 상자가 제공됩니다. 자세한 내용은 응용 프로그램에서 기본 제공 대화 상자 사용을 참조하십시오. 또한 사용자 고유의 대화 상자를 만들 수 있습니다.
Windows Forms 개발의 일반적인 작업은 대화 상자를 표시하여 사용자가 응용 프로그램의 기본 폼에 있는 단추를 클릭할 때 정보를 수집하는 것입니다. Visual C# Express Edition IDE에서 이 작업에 대한 예를 볼 수 있습니다. ListBox 컨트롤을 폼에 추가하려면 속성 창의 항목 속성을 클릭하여 대화 상자를 표시합니다. 이 대화 상자를 사용하여 텍스트 상자의 각 줄에 텍스트를 빠르게 입력할 수 있습니다. 그런 다음 확인을 클릭하면 응용 프로그램에서 각 텍스트 줄을 ListBox 컨트롤에 추가합니다. 응용 프로그램의 목록 상자에 사용자가 자신의 항목을 추가할 수 있게 하려면 고유의 문자열 편집기 대화 상자를 만듭니다.
사용자 응용 프로그램의 기본 폼을 만들려면
파일 메뉴에서 새 프로젝트를 클릭합니다.
새 프로젝트 대화 상자가 나타납니다.
Windows Forms 응용 프로그램, 확인을 차례로 클릭합니다.
Form1이란 폼이 프로젝트에 추가됩니다.
도구 상자에서 ListBox 컨트롤을 폼으로 끌어 온 다음 속성 창에서 다음 속성을 변경합니다.
속성
값
Modifiers
Public
폼에 Button 컨트롤을 추가하고 속성 창에서 다음 속성을 변경합니다.
속성
값
Name
addItems
Text
Add
대화 상자를 만들려면
프로젝트 메뉴에서 Windows Form 추가를 클릭하고 기본 이름 Form2를 그대로 둔 다음 추가를 클릭합니다.
도구 상자에서 Label 컨트롤을 폼으로 끌어 온 다음 Text 속성을 Enter the String (one per line)으로 변경합니다.
TextBox 컨트롤을 폼에 추가한 다음 속성 창에서 다음 속성을 변경합니다.
속성
값
Multiline
True
ScrollBars
Both
Size
255, 160
Button 컨트롤을 폼에 추가한 다음 속성 창에서 다음 속성을 변경합니다.
속성
값
Name
okButton
Text
OK
대화 상자에서 데이터 검색
Windows Form에서 다른 폼으로 데이터를 전달할 수 있는 방법은 여러 가지입니다. 이 예제에서는 Form1을 Form2의 생성자로 전달합니다.
대화 상자에서 데이터를 검색하려면
OK 단추를 두 번 클릭하여 기본 Click 이벤트 처리기를 만듭니다.
코드를 이 프로시저에 추가하기 전에 기본 폼의 변수를 만들고 Form2 클래스의 새 생성자를 만들어야 합니다.
다음 코드를 기본 생성자 아래에 추가합니다. 이 코드에서는 매개 변수로 Form1을 필요로 하는 오버로드된 생성자를 만듭니다.
Form1 mainForm; public Form2(Form1 mainForm) { this.mainForm = mainForm; InitializeComponent(); }
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();
솔루션 탐색기에서 Form1을 마우스 오른쪽 단추로 클릭한 다음 디자이너 보기를 클릭합니다.
Add 단추를 두 번 클릭하여 기본 Click 이벤트 처리기를 추가하고 다음 코드를 추가하여 Form2의 인스턴스를 만든 다음 폼을 표시합니다.
Form2 subForm = new Form2(this); subForm.Show();
F5 키를 눌러 코드를 실행합니다.
폼이 열리면 Add를 클릭합니다.
대화 상자가 열리면 다음 색 목록을 입력하고 각 단어 뒤에서 Enter 키를 누릅니다.
Blue
Green
Yellow
Red
확인을 클릭합니다.
대화 상자에 입력한 데이터가 Form1의 목록 상자에 나타나는지 확인합니다.
응용 프로그램을 닫습니다.