설계및프로젝트기본I 2017년 1학기(02분반).

Slides:



Advertisements
Similar presentations
의료정보팀 박수완 강남세브란스병원 GANGNAM SEVERANCE HOSPITAL.
Advertisements

XAML 신비를 벗다 발표자 : 최우진
2 주 실습강의 학기, 소프트웨어 설계 및 실험 ( Ⅰ ). Artificial Intelligence Laboratory Preview  웹 2.0  RIA  웹과 실버라이트의 실행 구조  Silverlight with VS 2008  설치 프로그램.
미디어 프로그래밍 II 소개.
Windows Programming 담당교수: 이상정 교수님 발표자 : 김인태 학번 :
- 계산기 GUI 구성하기 - 조원: 박강국 오정은 이귀식 김도윤 안영진.
DB 프로그래밍 학기.
DB 프로그래밍 학기.
System.Windows.Forms 윈도우 폼 SD50 – C# & .NET Platform.
발주시스템 Process 1.  ‘발주시스템 Manual’ 검토 후 회원가입 ( 홈페이지 주소 : )
Silverlight (2) – Deep Zoom & Expression Blend
예제로 배우는 Visual Basic 계산기로 익히는 연산자
개정판 Visual Basic 6.0 바로가기.
PDA & PC Webhard Network Project 오민식, 김상용, 배은희.
1장 Visual Basic 2010 시작 1.1 프로그램에 대한 기초 1.2 Visual Basic 버전
프로시저 와 인수전달 컴퓨터응용 및 실습 I.
1 PROJECT TITLE 기획 PAGE NO. 웹 페이지 구성 화 면 번호 화 면 설 명 연 결 화 면 L1 L4 L7
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
Visual Studio 2008 버전별비교 및 제품개요
비주얼 프로그래밍 1분반 화/수.
Computer Science & Engineering
웹 폼 이벤트 이벤트와 이벤트 처리기 이벤트(event)는 사전적 의미로 ‘사건, ‘일어난 일’, ‘행사’ 등의 뜻을 가지며 .NET 응용 프로그램에서의 이벤트는 코드로 응답하거나 처리할 수 있는 동작 자체를 의미합니다. ASP.NET의 서버 컨트롤과 웹 폼은 여러 상황에.
OpenGL Project (3D 움직이는 자동차)
XML WEB SERVICE PDA WEB HARD
설계및프로젝트기본I 2017년 1학기(02분반).
이벤트(Event) 처리하기 윈도우 프로그램에서는 이벤트를 통하여 실행 중인 프로그램에게 사용자의 요구사항을 알린다.
5 장 객체 지향 프로그래밍 5.1 객체 지향 프로그래밍의 개념 5.2 객체 지향 프로그래밍
openGL Project 결과보고서 야구 시구 시뮬레이션
3 장 Visual Basic 2010 기본 문법 3.1 변수 3.2 데이터 형식 3.3 연산자 3.4 제어문
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
비주얼 프로그래밍 1분반 화/수.
Todo list Universal & UWP app
Active X 이름 : 김 수 종 학번 :
Visual Basic 반복문.
Visual Studio 2010 프로젝트 생성하기 PC화면에서 Visual Studio 2010 아이콘을 더블클릭 하거나
3 장 Visual Basic 2010 기본 문법 3.4 제어문 1) 조건문 2) 반복문 3) 기타 제어문
openGL Project 제안서 비 오는 정류장에서
우리집닷컴 Style Guide 우리집닷컴 Web Style Guide Web Planner 김 영실.
강남 DataBinding 스타일 Windows 8 앱개발자라면 꼭 알아야할 개발자가 알아야할 Binding.
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
개요 설립 배경 및 목적 • 정부는 2005년 전면 발효된 “생명윤리 및 안전에 관한 법률”에 근거, 개인의 유전정보 보호와 근거없는 유전자검사의 상업적 이용 제한, 유전자검사기관의 정확도를 관리하는 장치를 만들었다. 한국유전자검사평가원은 정부로부터 유전자검사기관에 대한.
제5장 생성자와 접근제어 객체 지향 기법을 이해한다. 클래스를 작성할 수 있다. 클래스에서 객체를 생성할 수 있다.
비주얼 프로그래밍 1분반 화/목.
Lab 4 보고서 교재 5장 사용자 인터페이스 예제 - 사용자 인터페이스 갱신
RIA 기술적인 비교 User User 응용프로그램 응용프로그램 브라우저 운영체제 운영체제 하드웨어 하드웨어 기존 RIA.
윈도우 계산기 윈도우 보조프로그램 4칙연산 외 10여가지 기능 구현 ⑥ 메뉴 ⑤ 메모리 ③ 단항연산 ④ 지우기
PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지. PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지.
소프트웨어 공학 Lecture #7: 상세 설계
비주얼 프로그래밍 1분반 화/목.
예술치료 실습보고서 미술치료 음악치료 모래상자치료 연극치료 학 교 : 백석대학원 학 과 : 특수심리치료
컴퓨터 그래픽 I 영화 홍보 사이트 분석 과목 : 컴퓨터 그래픽 I 담당교수 : 손애경 교수님 학과 : 정보처리과 1반(A1)
CH2. ASP.NET 페이지 분석 HTML ASP ASP.NET 의 차이점.
[ACE+] 서비스-러닝 프로그램 (00000) 대학 00 학과.
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
[ 단원 06 ] 상속과 다형성.
openGL Project 제안서 - 해상 전투
제 4 장 클래스 작성 Lab 4- 2.
Ⅲ. 세계의 자연환경 -열대기후와 주민생활.
LOGOTYPE 춤추는 풍선 팀장 : 이준호 팀원 : 장원진.
05 ASP.NET 2.0 페이지 및 응용 프로그램 구조 웹 폼(Web Form) 웹 폼 이벤트
4주 실습강의 학기, 소프트웨어 설계 및 실험(Ⅰ).
2010년 DAEATi 솔루션 사업부 공채 1기 팀 프로젝트 보고
1장 Visual Basic 2010 시작 1.1 프로그램에 대한 기초 1.2 Visual Basic 버전
2장 첫 번째 응용 프로그램 작성
SQL Server Reporting Services Feature
Chapter2 : 자바환경과 자바 프로그램 2.1 자바 개발 환경 2.2 자바 통합개발환경(IDE)
컴퓨터 프로그래밍 언어 Visual Basic 6.0 √ 원리를 알면 VB가 쉽다.
3: Expression Blend로 UI 구성
2 비주얼 베이직 시작하기 천리 길도 한 걸음부터! 기초부터 다지자..
실습#5 인터랙티브 프로토타입 2011년 2학기 숙명여자대학교 임순범.
Presentation transcript:

설계및프로젝트기본I 2017년 1학기(02분반)

1주차 수업 2월 27일(월) Form Login

1주차 목차 수업소개 ACE 리더 선발 레벨테스트 노트 블로그 프로그래밍 -> 폼, WPF 시험보지 않고 프로젝트 할거다 팀구성 -> 4주 후 계획 -> 진도 -> 최종(성과전시회) 가르쳐주지 않는다 하지만 수시로 가르쳐준다 ACE 리더 선발 권예림 레벨테스트 카톡으로 하겠음 노트 블로그 프로그래밍 -> 폼, WPF

로드맵 LAB

프로그래밍 WinForm WPF GUI, Visual Program 클래스가 다르다 객체지향언어의 기본 구조 VS2015

Visual Studio 프로젝트 시작 Solution : 프로젝트의 집합 Project : 파일들의 집합 파일들… Visual C# Windows Form WPF Solution : 프로젝트의 집합 Project : 파일들의 집합 프로젝트 하나가 실행파일 하나 파일들…

윈도우 프로그램 작성 순서 디자인 속성을 변경시킨다 코딩 Form 컨트롤(Control) 배치 크기, 위치, 색깔, 내용… 이벤트 코딩 C#으로 코딩 이벤트 함수

Form 이벤트처리 button1, button2에 Click 이벤트 설정 디자인 창에서 버튼을 더블클릭하여 이벤트 함수 생성 private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "의료IT" && textBox2.Text == "1234") MessageBox.Show("성공"); else MessageBox.Show("실패"); } private void button2_Click(object sender, EventArgs e) // 끝내라 Close();

WPF 프로젝트 만들기 템플릿을 WPF로 선택하여 프로젝트 만들기 지난 시간에 Form 로그인 Solution 오른쪽 마우스 버튼 -> 추가 -> 새프로젝트 시작 프로젝트로 설정 지난 시간에 Form 로그인 WPF 로그인 프로그램을 완성시켜라

2주차 강의 3월 6일(월) WPF Login

2주차 수업내용 지난 시간에 Form 로그인 WPF 로그인 프로그램을 완성시켜라

1. 디자인하는 창의 이름이 달라졌다 *보통은 XAML 파일로 디자인한다 2. XAML 창이 생긴다

Design과 XAML(자멜이라고 읽는다)이 연동되어 있다 <Grid> <Label x:Name="label" Content="Label" HorizontalAlignment="Left" Margin="60,52,0,0" VerticalAlignment="Top“ /> <TextBox x:Name="textBox" HorizontalAlignment="Left" Height="23" Margin="157,52,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/> <TextBox x:Name="textBox2" HorizontalAlignment="Left" Height="23" Margin="157,152,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/> </Grid>

Xaml 코딩이 좋다 <Grid Background="Orange"> <TextBlock FontSize="50" FontWeight="Bold" Foreground="Blue" HorizontalAlignment="Center" VerticalAlignment="Center">HelloWorld </TextBlock> </Grid> Tag : <>로 시작하고 </>로 끝 Control을 사용할 때 <> 안에 속성을 넣는다 반드시 자동완성기능을 사용한다

MainWindow.xaml <Grid Name="grid1" Background="Orange"> <TextBlock FontSize="50" FontWeight="Bold" Foreground="Blue" HorizontalAlignment="Center" VerticalAlignment="Center" MouseDown="TextBlock_MouseDown">HelloWorld</TextBlock> </Grid> MainWindow.xaml.cs // TextBlock이 눌렸을 때의 이벤트 함수 private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e) { grid1.Background = Brushes.White; }

실행모습

WPF login <Grid> <TextBlock>ID</TextBlock> <TextBox></TextBox> <TextBlock>PASSWORD</TextBlock> </Grid> Container를 써야 한다

<Grid> <Button Margin="30">Button</Button> </Grid>

StackPanel – 가로로 쌓기 <Grid> <StackPanel Orientation="Horizontal"> <Button Margin="10" Height="40" Width="150"> Button1</Button> <Button Margin="10" Height="40" Width="150"> Button2</Button> <Button Margin="10" Height="40" Width="150"> Button3</Button> </StackPanel> </Grid>

세로로 쌓기 <Grid> <StackPanel > <Button Margin="10" Height="40" Width="150"> Button1</Button> <Button Margin="10" Height="40" Width="150"> Button2</Button> <Button Margin="10" Height="40" Width="150"> Button3</Button> </StackPanel> </Grid>

프로젝트만 압축해서 학번_이름.zip bikang@konyang.ac.kr <StackPanel> <StackPanel Orientation=“Horizontal”> <TextBlock/> <TextBox /> </StackPanel> <TextBox/> <Button Name=btn1/> <Button name=btn2/> </Stackpanel> m2 속성 Margin Width Height m3 Button m1 m4 Margin=“m1, m2, m3, m4”

디자인 – MainWindow.xaml <Grid Background="Orange"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" > <StackPanel Orientation="Horizontal" Margin="10"> <TextBlock Width="100">ID</TextBlock> <TextBox Name="txtID" Width="150"/> </StackPanel> <TextBlock Width="100" Text="PASSWORD"/> <TextBox Name="txtPassword" Width="150"/> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="10"> <Button Width="100" Name="btnLogin" Click="btnLogin_Click">로그인</Button> <Button Width="100" Name="btnClose" Margin="50,0,0,0">종료</Button> </Grid>

Code behind – MainWindow.xaml.cs public partial class MainWindow : Window { public MainWindow() InitializeComponent(); } // Login Button 이벤트 함수 private void btnLogin_Click(object sender, RoutedEventArgs e) if (txtID.Text == "의료IT" && txtPassword.Text == "1234") MessageBox.Show("성공했습니다"); else MessageBox.Show("실패했습니다"); // Close Button 이벤트 함수 private void btnClose_Click(object sender, RoutedEventArgs e) Close(); // XAML 코드에서 패스워드 입력창에 // TextBox 대신 PasswordBox 사용하면 글자를 숨겨준다 <StackPanel Orientation="Horizontal" Margin="10"> <TextBlock Width="100" Text="PASSWORD"/> <PasswordBox Name="txtPassword" Width="150"/> </StackPanel> cs 파일 // Login Button 이벤트 함수 private void btnLogin_Click(object sender, RoutedEventArgs e) { if (txtID.Text == "의료IT" && txtPassword.Password == "1234") MessageBox.Show("성공했습니다"); else MessageBox.Show("실패했습니다"); }

3주차 강의 3월 13일(월) WPF 계산기

간단한 계산기 Form WPF Title TextBox Button

WPF 계산기

XAML을 이용하여 Button 표시 <Grid> <Button>버튼1</Button> </Grid> <Grid>와 </Grid>사이에 콘트롤 배치 <Grid> <Button>버튼1</Button> <Button>버튼2</Button> </Grid> <Button>을 두 개 넣어도 표시는 하나만 됨 즉, 같은 위치에 2개가 들어감 쌓아놓는 패널이라는 뜻 이럴 때 <StackPanel> 을 사용함 <StackPanel> <Button>버튼1</Button> <Button>버튼2</Button> </StackPanel>

Button의 속성 = Height, Margin <StackPanel> <Button Height=“100”>버튼1</Button> <Button Height=“150”>버튼2</Button> </StackPanel> Button의 크기를 키우려면 Height 속성을 준다 Button이 너무 붙어있어서 여백을 주고 싶으면 Margin 속성을 준다. 40 10 50 버튼1 20 Margin=“10” 과 같이 숫자 하나만 쓰면 사방이 같은 Margin을 갖는다. 네 방향 모두 다른 값을 줄 수 있다. Margin=“50,40,10,20” 처럼… <Button Height="100" Margin="10">버튼1</Button> <Button Height="150" Margin="10">버튼2</Button>

수업 중에 한 프로그램 XAML 구조 -> 올려놓은 소스를 보면서 공부할 것 <StackPanel> <Grid> <TextBox Name=“txtResult”>0</TextBox> </Grid> <Grid.RowDefinitions> <RowDefinition/> … </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition/> </Grid.ColumnDefinitions> <Button Grid.Row=“0” Grid.Column=“0”>MC</Button> … 여러 개의 버튼들을 이곳에… </StackPanel> 첫번째 Grid 6줄을 정의함 두번째 Grid 5칸을 정의함 두번째 <Grid>와 </Grid> 사이에 버튼이 놓이고 버튼은 몇번째 Row, Column 에 들어가는 지를 표시한다.

윈도우 계산기와 비교 - 초기화면 ③ 프로그램 아이콘 ① 프로그램의 이름 ④ 메뉴 ② TextBox의 숫자가 오른쪽 아래 큰 글씨로… ⑤ 컬러추가 ① XAML 맨 윗줄에서 Title 속성 변경… <Window x:Class="wpfCalc.MainWindow" ….. Title="WPF 계산기" Height="320" Width="220"> ② 첫번째 <Grid>의 속성 변경… <TextBox Name="txtResult" Height="55" Margin="10" FontSize="20" FontWeight="Bold" HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom">0</TextBox> </Grid>

③ 프로그램 아이콘 바뀐 아이콘 확인! 이 아이콘은 실행파일의 아이콘이 된다 iconfinder.com 에서 Calculator로 검색하여 그 중에 마음에 드는 아이콘을 찾아 다운로드 받는다. 솔루션탐색기에서 프로젝트 이름 위에 오른쪽 마우스버튼을 누르고, 맨 아래 “속성” 메뉴를 선택 “아이콘 및 매니페스트”에서 아이콘에 다운 받아둔 그림 선택 또는 <Window x:Class="wpfCalc.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF 계산기" Height="340" Width="235" Background="#FFDDE7E3" Icon="calculator.ico">

④ Menu in WPF http://www.wpf-tutorial.com/common-interface-controls/menu-control/ <Menu> <MenuItem Header="_보기(V)"> <MenuItem Header="일반용" /> <MenuItem Header="공학용" IsEnabled="False" /> <MenuItem Header="프로그래머용" IsEnabled="False" /> <MenuItem Header="통계용" IsEnabled="False"/> <Separator/> <MenuItem Header="끝내기" Click="Exit_Click"/> </MenuItem> <MenuItem Header="편집(E)"> <MenuItem Header="복사(C)"/> <MenuItem Header="붙여넣기(P)" /> <Separator /> <MenuItem Header="기록" > <MenuItem Header="기록복사"/> <MenuItem Header="기록 지우기"/> <MenuItem Header="도움말(H)"> <MenuItem Header="WPF계산기 정보" Click="About_Click" /> <MenuItem Header="_Version 정보" Click="Version_Click" /> </Menu>

⑤ Color <Window x:Class="wpfCalc.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF Calc v.1.10" Height="340" Width="235" Background="#FFDDE7E3“> <TextBox Name="txtResult" Height="55" Margin="10" FontSize="20" FontWeight="Normal" HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom" BorderBrush="#FF93A5B1" Foreground="Black"> <TextBox.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FFD2DEE8" Offset="0.152"/> <GradientStop Color="#FFE6F5F7" Offset="0.561"/> </LinearGradientBrush> </TextBox.Background> 0 </TextBox>

⑥ Clipboard Class http://msdn.microsoft.com/ko-kr/library/system.windows.clipboard(v=vs.110).aspx http://tech.pro/tutorial/850/wpf-tutorial-using-the-clipboard System.Object    -> System.Windows.Clipboard Clipboard.SetText() Method Clipboard.GetText() Method // 메뉴: 편집->복사 private void Copy_Click(object sender, RoutedEventArgs e) { Clipboard.SetText(txtResult.Text, TextDataFormat.Text); } // 메뉴: 편집->붙여넣기 private void Paste_Click(object sender, RoutedEventArgs e) txtResult.Text = Clipboard.GetText();

⑦ No Resize <Window x:Class="wpfCalc.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="WPF Calc v.1.10" Height="340" Width="235" Background="#FFDDE7E3" Icon="calculator.ico" ResizeMode="NoResize">