Assignment5

연습문제 Ex5 (Due by 11/26 목 24시까지)
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex5.zip으로 묶어서 낼 것. 보고서 (30%)1113718331.hwp


[연습문제]
1. PersonRecord라는 Window Form 응용프로그램 프로젝트를 생성한다.


2. 생성된 폼 Form1.cs [Design]에서 Toolbox(도구상자)에서 Controls (컨트롤)을 가져와 출력화면을 위한 폼을 디자인한다. (10%)
-리스트 출력을 위한 ListView는 속성 (Property) 창에서 View를 Details로 바꾼다.
-편집 컨트롤 그룹을 위한 Group Box
-사람정보 (이름, ID, 전화번호, 주소) 입력을 위한 TextBox. 그리고 ID는 숫자만 입력할 수 있도록 한다.
-등록, 수정, 삭제, 모두 삭제를 위한 Button
-파일 열기, 파일 저장, 응용프로그램 끝내기 ToolStrip (또는 Button 사용)
-OpenFileDialog와 SaveFileDialog 공용컨트롤 등등사용자 삽입 이미지



3. Person.cs 클래스는 다음 메소드를 가진다. (10%)
– public override string ToString() // “이름,ID,전화번호,주소”로 출력 (CSV 파일 출력에 필요)
– public int CompareTo(Person other) // Person의 이름 순서대로 비교 (Sort에 필요)
– public bool Equals(Person other)        // 이름과 같은지 비교 (Find에 필요)
– public ListViewItem ToListViewItem() // 리스트뷰 항목을 생성 (ListView 컨트롤에 필요) 메소드를 추가한다.


4. Form1.cs 클래스에 List<Person>을 데이터 멤버로 포함시키고, 파일열기, 파일저장, 추가, 수정, 삭제, 모두 삭제  버튼을 이용하여 사람 정보를 ListView에 새로운 항목으로 추가하거나, 선택된 항목의 수정 및 삭제 등이 가능하도록 이벤트 핸들러를 작성한다. (30%)


멤버 필드:
-private List<Person> pList;
-public Form1()
{
 InitializeComponent();
 pList = new List<Person>();
}


툴바 이벤트 핸들러:
     // 파일을 읽어 리스트와 리스트뷰에 Person 추가
     -private void loadFileButton_Click(object sender, EventArgs e)
     // 리스트에 있는 모든 Person을 파일로 저장
     -private void saveFileButton_Click(object sender, EventArgs e)
     // 응용프로그램 종료
     -private void closeButton_Click(object sender, EventArgs e)


– 텍스트파일은 CSV 포맷 (예: Test.csv를 사용하여 테스트해 볼 것)
김승훈, 1202, 041-550-3481, 3과420
박태근, 1204, 041-550-3486, 3과419
김대원, 1204, 041-550-3487, 3과418
박경신, 1207, 041-550-3469, 3과417
서병문, 1207, 041-550-3471, 3과407
정재진, 1209, 041-550-3482, 3과409
김태완, 1207, 041-550-3512, 학생회관
김명숙, 1207, 041-550-3511, 3과511


버튼 이벤트 핸들러:
     // pList와 ListView1에 Person 항목 추가 (Person의 ToListViewItem() 사용할 것)
     -private void addButton_Click(object sender, EventArgs e)
     // pList와 ListView1에서 현재 선택된 Person 정보 수정
     -private void editFileButton_Click(object sender, EventArgs e)
     // pList와 ListView1에서 현재 선택된 Person 항목 삭제
     -private void deleteButton_Click(object sender, EventArgs e)
     // pList와 ListView1에서 모든 Person 항목 삭제
     -private void deleteallButton_Click(object sender, EventArgs e)


리스트뷰 이벤트 핸들러:
     // 리스트뷰에서 현재 선택된 항목을 사람 정보(이름/ID/전화번호/주소) TextBox에 출력
     -private void listView1_ItemSelectionChanged(object sender,
                                             ListViewItemSelectionChangedEventArgs e)
     // 리스트뷰에서 현재 선택된 항목에 Person을 삭제
     -private void listView1_DoubleClick(object sender, EventArgs e)

4. 생성한 폼을 이용하여 구현한 모든 메소드를 테스트한 결과를 스냅샷으로 찍어서 보고서에 제출한다. (10%)
– 파일 열기로 데이터를 읽어들여 리스트에 로딩
– 추가, 수정, 삭제, 모두삭제를 사용하여 5명 이상 Person 추가 또는 제거
– 리스트뷰의 항목을 선택(ItemSelectionChanged), 항목을 더블클릭(DoubleClick), 헤더의 칼럼을 클릭(ColumnClick)하는 기능 테스트
– 파일 저장을 사용하여 리스트에 있는 모든 데이터를 저장 (리스트뷰에 있는 정보와 저장한 파일의 정보가 동일한지 스냅샷으로 찍어서 비교해줄 것)
– 응용프로그램 종료


5. Person 또는 Form1에서 본인이 더 테스트해보고 싶은 Method를 추가하라. 예를 들어 리스트뷰의 칼럼을 클릭하면 그 순서대로 전체 항목을 정렬하는 것 등등. (10%)


         http://msdn.microsoft.com/ko-kr/library/ms229643(VS.80).aspx
     // 리스트뷰의 헤더(이름/ID 칼럼)을 클릭하면 그 순서대로 전체 항목 Sort (정렬)
     -private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)

Leave a Reply

Your email address will not be published. Required fields are marked *