연습문제 (3)
□ 단원 : C# WinForm □ 목표 : C# Form, Controls, GUI, Dialog □ 주요 연습 내용 : collections, class, Form, 속성, FileIO 연습 |
연습문제 Ex3 (Due by 11/11 금 24시까지)
-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex3.zip으로 묶어서 낼 것. 보고서 (30%)
[연습문제]
1. MainForm에 메뉴, 툴바, 탭컨트롤을 추가한다. (10%)
– menuStrip1
+File
+Open: 이미지 폴더 열기
+Exit: 응용프로그램 종료
+Image
+Resize: 전체 이미지 사이즈 일괄 변경하기
– listView & imageList
– folderBrowser
– statusStrip
2. 모달형 대화상자 (Moal Dialog)인 DetailForm을 새로 추가하고 Photo를 보여준다. (10%)
– pictureBox
– button (Previous/Next/Slideshow)
+Previous 버튼이 Click되면, 이전 사진을 보여준다
+Next 버튼이 Click되면, 다음 사진을 보여준다
+Slideshow 버튼이 Click되면, 디렉토리의 전체 사진을 슬라이드쇼로 보여준다
– timer
+타이머가 Tick되면, 다음 사진을 보여준다
3. 모달형 대화상자 (Moal Dialog)인 ResizeForm을 새로 추가하고, 크기조절 비율과 저장 디렉토리를 입력받아 사진 크기변환을 할 수 있다. (10%)
– label & button
– listBox
– textBox
4. MainForm 에는 프로그램을 정의한다. (20%)
– public List<Photo> pList = new List<Photo>();
// 응용프로그램을 종료한다.
– private void exitToolStripMenuItem_Click(object sender, EventArgs e)
// folderBrowserDialog를 이용하여 선택한 디렉토리에 모든 이미지(Photo)를
// List<Photo>와 imageList와 listView에 추가한다.
– private void openToolStripMenuItem_Click(object sender, EventArgs e)
// ResizeForm 대화상자를 열어서 입력받은 크기비율과 저장디렉토리에
// 모든 이미지를 크기변환(제공하는 resizeImage를 사용)한다.
– private void resizeToolStripMenuItem_Click(object sender, EventArgs e)
// listView에 이미지를 선택하면, DetailForm 대화상자를 열어준다.
// 현재 선택한 이미지의 정보를 statusStrip에 출력해준다.
– private void listView1_ItemSelectionChanged(object sender, EventArgs e)
5. DetailForm 클래스 또는 ResizeForm 클래스에 이벤트 핸들러를 구현하고 본인이 원하는 기능을 더 추가한다. (20%)
DetailForm클래스
// DetailForm이 로딩되면 리스트뷰에서 선택된 사진을 보여준다.
– private void DetailForm_Load(object sender, EventArgs e)
// Previous 버튼을 누르면 이전 사진을 보여준다
– private void button1_Click(object sender, EventArgs e)
// Next 버튼을 누르면 다음 사진을 보여준다.
– private void button2_Click(object sender, EventArgs e)
// Slideshow 버튼을 누르면 슬라이드쇼를 한다.
// (즉, timer를 활성화시킨다. 즉, Tick 이벤트가 실행되게 한다.)
– private void button3_Click(object sender, EventArgs e)
ResizeForm클래스
// listBox1에서 사용자가 원하는 퍼센티지(%)를 선택할 수 있다.
– private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
// textBox1를 마우스로 누르면 folderBrowserDialog1를 불러 크기변환된 파일을 저장할 디렉토리를 지정할 수 있다. (folderBrowserDialog1.ShowNewFolderButton = true)
– private void textBox1_Enter(object sender, EventArgs e)