(Microsoft PowerPoint - C#\260\355\261\3363\(WinForm\).ppt)

Similar documents
C# 입문 : 이론과 실습

Microsoft PowerPoint - 07-C#-12-GDI+.ppt [호환 모드]

윈도우시스템프로그래밍

Microsoft PowerPoint - chap01-C언어개요.pptx

제8장 자바 GUI 프로그래밍 II

제 1장 C#의 개요

윈도우시스템프로그래밍

Dialog Box 실행파일을 Web에 포함시키는 방법

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2

윈도우시스템프로그래밍

Microsoft PowerPoint - hci2-lecture10.ppt [호환 모드]

Microsoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt

어댑터뷰

Microsoft PowerPoint - CSharp-10-예외처리

(Microsoft PowerPoint - hci2-lecture11 [\310\243\310\257 \270\360\265\345])

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕

ISP and CodeVisionAVR C Compiler.hwp

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

<4D F736F F F696E74202D203039C0E520B4EBC8ADBBF3C0DA205BC8A3C8AF20B8F0B5E55D>

MAX+plus II Getting Started - 무작정따라하기

Microsoft PowerPoint - hci2-lecture11.ppt [호환 모드]

C# 입문 : 이론과 실습

Interstage5 SOAP서비스 설정 가이드

C++ Programming

Windows 8에서 BioStar 1 설치하기

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

PowerPoint Presentation

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

3ÆÄÆ®-14

쉽게 풀어쓴 C 프로그래밍

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

chapter4

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

01-OOPConcepts(2).PDF

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

(Microsoft PowerPoint - C#\260\355\261\3361.ppt)

UNIST_교원 홈페이지 관리자_Manual_V1.0

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

PRO1_04E [읽기 전용]

RHEV 2.2 인증서 만료 확인 및 갱신

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Microsoft PowerPoint - Java7.pptx

( )부록

Visual Basic 반복문

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Spring Boot

3ÆÄÆ®-11

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

슬라이드 1

02 C h a p t e r Java

1

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Microsoft PowerPoint - ÀÚ¹Ù08Àå-2.ppt

PCServerMgmt7

Microsoft PowerPoint - 09-Object Oriented Programming-3.pptx

DE1-SoC Board

Microsoft PowerPoint - C++ 5 .pptx

17장 클래스와 메소드

Microsoft PowerPoint - 04-UDP Programming.ppt

1부

슬라이드 1

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

초보자를 위한 C# 21일 완성

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

슬라이드 1

슬라이드 1

untitled

<C1A4C3A5B8DEB8F05FC1A C8A35FB0F8B0F8B5A5C0CCC5CD20B0B3B9E6B0FA20B0ADBFF8B5B52E687770>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

untitled

PowerPoint 프레젠테이션

Microsoft PowerPoint - 권장 사양

BMP 파일 처리

C# Programming Guide - Types

PowerPoint Template

1 1 제 1 장 C# 의개요 1.1 소개 1.2 콘솔 / 윈폼애플리케이션 C# 개발환경 콘솔애플리케이션 윈폼애플리케이션 C# 프로그램실행과정 1.3 기본특징 자료형 연산자 배열 스트

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

DBMS & SQL Server Installation Database Laboratory

<4D F736F F F696E74202D20C1A63233C0E520B1D7B7A1C7C820C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft Word - src.doc

C++ Programming

슬라이드 1

JMF3_심빈구.PDF

C# 입문 : 이론과 실습

4S 1차년도 평가 발표자료

슬라이드 1

PowerPoint Presentation

Visual Basic Visual Basic 소개

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

Transcription:

- 1 - C# Programming 이현정 hjyi@hotmail.com MCT/MCSD/MCAD/MCSD.NET

목차 - 2-1부 C# 언어 1장 C, C++ 그리고 C# 2장 Hello, C#! 3장변수와자료형 4장연산자 5장흐름제어 6장메쏘드 7장클래스 8장배열과컬렉션 9장속성과인덱서 10장델리게이트와이벤트 11장예외처리 12장특성 13장일반화프로그래밍 2부.NET 프레임워크활용 14 장비주얼 C# 익스프레스시작하기 15 장 C# 윈도우프로그래밍의기초 16 장메모장만들기 17 장파일관리자만들기 - Part 1 18 장파일관리자만들기 - Part 2 19 장 MyCanvas - GDI+ 20 장데이터베이스와 ADO.NET 21 장 ADO.NET 과함께하는 MyFriends 프로젝트 22 장쓰레드 (Thread) 23 장네트워크프로그래밍 24 장컴포넌트프로그래밍 25 장.NET 리모팅 26 장이책에서다루지못한것들

- 3-14장. 비주얼 C# 익스프레스 비주얼 C# 익스프레스의구성 컨트롤의사용 : 무조건따라해보기

- 4-15장. C# 윈도우프로그래밍의기초 도대체무슨일이일어나고있을걸까? 윈도우는어떻게만들까? Application 클래스 Form 클래스 - 이벤트와이벤트처리기는어떻게연결하는가 - 윈도우의모양은어떻게조정하는가 - 어떻게다른컨트롤의컨테이너가될수있는가

- 5-16장. 메모장만들기 메뉴만들기 컨트롤배치하기 OpenFileDialog 컨트롤 SaveFileDialog 컨트롤 Form 컨트롤속성변경하기 코드추가하기 UnicodeOptoin 속성추가하기

- 6 - OpenDocument() 작성하기 StreamReader 사용 SaveDocument() 작성하기 - StreamWriter 사용 메뉴이벤트처리기작성하기

UI 구성하기 - 7 - ToolStrip 컨트롤 특징 예 Render Modes 메뉴 - MenuStrip Guideline 메뉴추가 이벤트처리 도구모음 -ToolStrip Click Event 처리 상태표시줄 - StatusStrip Run Time 에상태표시줄변경하기

Professional Applications 만들기 - 8 -

Professional Applications 만들기 - 9 -

UI 구성하기 - 10 - ToolStrip 컨트롤 특징 예 Render Modes 메뉴 - MenuStrip Guideline 메뉴추가 이벤트처리 도구모음 -ToolStrip Click Event 처리 상태표시줄 - StatusStrip Run Time 에상태표시줄변경하기

1. ToolStrip 컨트롤 - 11 - Toolbars, Menus, Drop-down menus와 Context menus을위해공통적인 API 제공 MenuStrip, ToolStrip, StatusStrip, ContextMenuStrip ToolStrip에서상속받음 고급디자인환경제공

1.1 ToolStrip 컨트롤특징 - 12 - Item 종류 ToolStripButton ToolStripMenuItem ToolStripTextBox Item layout options Item overflowing ToolStripContainer Item Customization ToolStripComboBox ToolStripProgressBar ToolStripDropDownButton

1.2 ToolStrip 컨트롤예 - 13 -

1.3 ToolStrip 컨트롤 Render Modes - 14 - Professional System Custom

2. 메뉴 - MenuStrip - 15 - Menu Heading Menu Items Submenu

2.1 Guidelines - 16 - Guideline 첫글자는대문자로.... Access Key 를지정 Naming conventions 를사용 대화상자를보여주는메뉴에는 를표시 예 File, Edit, Help File, Edit, Help FileItem, EditItem, HelpItem Save As

2.2 메뉴추가 - 17 -

2.3 이벤트처리 - 18 - this.opentoolstripmenuitem.text = "Open"; this.opentoolstripmenuitem.click += += new System.EventHandler (this.opentoolstripmenuitem_click); // private void opentoolstripmenuitem_click(object sender, EventArgs e) e) { // // }

3. 도구모음 - ToolStrip - 19 -

3.1 Click Event 처리 - 20 - private void toolstripbutton1_click(object sender, EventArgs e) e) { } opentoolstripmenuitem.performclick();

4. 상태표시줄 StatusStrip - 21 -

4.1 Run Time에상태표시줄변경하기 - 22 - toolstripstatuslabel1.text = openfiledialog1.filename; toolstripstatuslabel1.textalign Align = MiddleCenter;

대화상자 - 23 - 공통대화상자 1.1 공통대화상자의사용 1.2 속성지정 1.3 공통대화상자로부터정보읽기 1.4 실습 사용자정의대화상자 2.1 종류 2.2 사용자정의대화상자만들기 2.3 실습

1. 공통대화상자 (Common Dialog Box) - 24 - OpenFileDialog SaveFileDialog FontDialog ColorDialog PrintDialog PageSetupDialog PrintPreveiwDialog

1.1 공통대화상자의사용 - 25 - 대화상자를폼위로드래깅 대화상자를띄우기위한이벤트를추가 private void OpenMenuItem_Click(object sender, System.EventArgs e) e) { openfiledialog1.showdialog(); }

1.2 속성지정 - 26 - 속성창 Options openfiledialog1.filter = @A C: C:\C# C# fiels *. *.cs XML files *.xml all files(*.*) *.* ;

1.3 공통대화상자로부터정보읽기 - 27 - DialogResult OK, Cancel, Abort, Retry, Ignore, Yes, No, (or None) if if (openfiledialog1.showdialog() == == DialogResult.OK) ) { MessageBox.Show(openFileDialog1.FileName openfiledialog1.filename); ); }

2. 사용자정의대화상자 - 28 - 종류 Modal Dialog Box ShowDialog() Modeless Dialog Box Show()

2.1 사용자정의대화상자만들기 - 29 - 솔루션탐색기에서 Form 추가 Form 속성을 Dialog Box 로설정 FormBorderStyle ControlBox MinimizeBox MaximizeBox ShowInTaskbar :false :FixedDialog :false :false :false

2.1 사용자정의대화상자만들기 - 30 - OK / Cancel Button 추가 Button 속성지정 : Text,Name,DialogResult Form 속성지정 : AcceptButton,CancelButton DialogBox 띄우기 :MenuItem Event Handler 구현 private void menuitemdialog_click(object sender, System.EventArgs e) { } MessageDialog dlg = new MessageDialog (); if (dlg.showdialog () == DialogResult.OK) { } message = dlg.message; Invalidate();

2.1 사용자정의대화상자만들기 - 31-5 DialogBox 에서입력한정보얻기 public class MessageDialog : System.Windows.Forms.Form { private System.Windows.Forms.TextBox textbox1; //.. public string Message // Get Property 구현 { get { return textbox1.text;} } } private void menuitemdialog_click(object sender, System.EventArgs e) { MessageDialog dlg = new MessageDialog (); if (dlg.showdialog () == DialogResult.OK){ message = dlg.message;invalidate(); } }

2.1 사용자정의대화상자만들기 - 32-5 Tab Order 지정하기 보기메뉴 탭순서로지정 Control 의 Tab Index 속성지정,Tab Stop 속성

GDI+ 소개 - 33 - GDI+ 란? Graphics 객체 화면에그리기 선그리기 도형그리기 텍스트출력하기

1. GDI+ 란? - 34 - GDI+ ( 새로운 Graphics Device Interface) 비디오디스플레이와프린터에그래픽이나텍스트출력을할수있게해준다. 장치독립적인응용프로그램 (Device-Independent Applications) 을만들수있다. GDI+ 범주 2-D vector graphics Text Images

1. GDI+ 란? - 35 - Namespace System.Drawing System.Drawing.Drawing2D System.Drawing.Imaging System.Drawing.Printing. System.Drawing.Design System.Drawing.Text.

2. Graphics 객체 - 36 - 드로잉표면을제공 특정위치에텍스트와그래픽을그려주는메서드를제공 Graphics mygraphic = this.creategraphics(); ' 선그리기 mygraphic.graphics.drawline(mypen,x1,y1,x2,y2) ; ' 브러쉬로특정영역채우기 mygraphic.fillrectangle(mybrush,x1,y1,x2,y2); ' 폰트와브러쉬를사용하여텍스트출력하기 mygraphic.drawstring(mytext,myfont,mybrush,x1,y1);

2.1 Graphics 객체얻기 - 37 - private void form1_paint(object sender, PaintEventArgs e) e) {{ Graphics g = e.graphics; //.. }} protected override void OnPaint(PaintEventArgs e) e) {{ Graphics g = pe.graphics; // }} private void Form1_MouseDown(object sender, MouseEventArgs e) e) {{ Graphics g = this.creategraphics(); }}

3. 화면에그리기 - 38 - Form Paint Event 처리하거나 OnPaint() 를재정의 // Form Paint Event private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) e) { Font drawfont = new new Font("Arial", 16); SolidBrush drawbrush = new new SolidBrush(System.Drawing.Color.Black); Point drawpoint = new new Point(0,0); e.graphics.drawstring( Hello,World, drawfont, drawbrush, drawpoint); } Paint Event 발생 Invalidate()

4. 선그리기 - 39 - Pen 선을그리거나도형의경계선을그릴때사용된다. Pen mypen = new Pen(Color.Blue); Pen mypen = new Pen(Color.Blue); Pen pen = new Pen(brush,4) pen.pentype = PenType.PathGradient; pen.alignment = PenAlignment.Center; 선그리는함수 Pen blackpen = new Pen(Color.Black, 3); e.graphics.drawline(blackpen, 100.0F,100.0F, 500.0F, 100.0F); e.graphics.drawrectangle(new Pen(Color.Red), 10, 10, 100, 100);

5. 도형그리기 - 40 - Brush 텍스트를그리거나도형안의영역을그릴때사용된다. SolidBrush mybrush = new SolidBrush(Color.Blue); Point p1 = new Point(50,50); Point p2 = new Point(100,100); LinearGradientBrush lnbrush = new LinearGradientBrush (p1,p2,color.red,color.yellow); Rectangle rect = new Rectangle(50,50,100,100); LinearGradientBrush lnbrush = new LinearGradientBrush (rect,color.red, Color.Yellow,LinearGradientMode.ForwardDiagonal); 도형그리는함수 e.graphics.fillrectangle(mybrush mybrush,, 150, 150, 100, 100);

5. 도형그리기 - 41 - Brush 종류 SolidBrush TextureBrush LinerGradientBrush PathGradientBrush HatchBrush

6. 텍스트출력하기 ( 글자그리기 ) Font - 42 - 텍스트 ( 글자 ) 를출력할때사용된다. Font myfont = new Font("Arial", 12); Pen mypen = new Pen(Color.Blue); Pen pen = new Pen(brush,4) pen.pentype = PenType.PathGradient; pen.alignment = PenAlignment.Center; 글자그리는함수 Pen blackpen = new Pen(Color.Black, 3); e.graphics.drawline(blackpen, 100.0F,100.0F, 500.0F, 100.0F);

6.1 글자크기정보구하기 - 43 - 글자를그리려면 1. 글자의위치를구한다. 2. 글자를그리는데상요항 Font 와 Brush 를선택한다. 3. Graphics.DrawString 메서드를호출한다. e.graphics.drawstring(mytext, myfont, mybrush, X1, Y1); 글자크기구하기 textwidth = e.graphics.measurestring(mytext,myfont).width; textheight = e.graphics.measurestring(mytext,myfont).height;

- 44 - 배포 Windows 응용프로그램의설치및배포 설치및배포프로젝트 ClickOnce 배포 VS2005에서추가됨

설치및배포프로젝트 - 45 -

설치및배포프로젝트 - 46 - 프로젝트작성 프로젝트구성 설치편집기들 파일시스템편집기 파일형식편집기 시작조건편집기 사용자인터페이스편집기 프로젝트빌드 설치

파일시스템편집기 - 47 -

ClickOnce 배포 - 48 - Visual Studio 2005의 IDE 에서지원 프로젝트디자이너 게시 보안 게시마법사 어플리케이션을웹서버에복사 FTP나네트워크로파일공유

게시옵션 - 49 -

ClickOnce 모델 - 50 - ClickOnce Wizard Windows Forms Project VS2005 http://server/testapp/testapp.application wwwroot TestApp TestApp.application TestApp_1.0.0.0 TestApp.exe.deploy TestApp.exe.manifest 웹서버 버전을체크하고필요하면업데이트 버전디렉토리에서 manifest file 를다운로드 Manifest 의 permission 을체크 OK 이면다운로드받고실행

ClickOnce 기본개념 - 51-1.0 1.1 Deployment Manifest Application Manifest 1.0 Web Page Link to Manifest Application Manifest 1.1 Application manifest 어플리케이션을기술 예 : 어플리케이션이어떤어셈블리로구성되는가? Deployment manifest 어플리케이션배포를기술 예 : 클라이언트가어느버전을사용해야만되는가?

ClickOnce 업데이트옵션들 - 52 - On application startup 업데이트가발견되면사용자에게어플리케이션을업데이트할것인지를묻는다 After application startup 업데이트가발견되면사용자에게다음번실행시에업데이트할것인지를묻는다 Required updates 최소한으로요구되는버전 (minimum required version ) 을사용할것을명시 Programmatic updating 업데이트경험을토대로프로그래밍으로제어

ClickOnce 프로그래밍 - 53 - Application Updating Update Now 메뉴를구현 클라이언트와서버프로그램을동기화하고자할때 When-to-update logic 를커스터마이징서버로드에따라업데이트를제한 On-demand download 진보적인설치 Shell System.Deployment namespace System.Deployment.Application namespace ApplicationDeployment