분류 전체보기 76

043_TwoChart

이전 게시물처럼 Chart 를 그리게 될껀데 위 사진 처럼 두개의 그래프를 합치기도 하고 나누어표현 하기도 하고 두가지 방법으로 chart를 표현해보자. 이전 게시물처럼 chart를 가져온다. chart는 한개만 가져오면 된다. 나중에 소스코드에서 추가할테니. 그리고 Button도 가져와서 각각 이름을 btnOneChart / btnTwoCharts로 바꾸어주었다. 나중에 버튼에 대한 이벤트를 지정할것이다. Form Load시에 필요한 소스코드이다. private void Form1_Load(object sender, EventArgs e) { chart1.Titles.Add("성적"); chart1.Series.Add("Series2"); //원래 series1 있었음 chart1.Series["Ser..

C# 2022.06.09

042_Chart

Win Form 을 이용해 ChartControl해보자 C#에서 Win Form 같은 경우 차트 컨트롤이 쉽다. 하지만 WPF같은 경우 차트컨트롤이 없음 . 써드파티를 통해 가능하지만 쉽게 winform에서 해보자. 도구상자 - 데이터 항목을 보게 되면 chart 가 있다. 끌어와 폼에 넣어주자. 레이아웃의 Dock을 Fill로 수정해야 차트가 폼 안에 가득차게 표현되니 활용해보자. 여기까지 했다면 절반은 한것이다.이제 소스코드를 손봐주자 public Form1() { InitializeComponent(); this.Text = "Using Chart Control"; // Form이름 바꾸기 } private void Form1_Load(object sender, EventArgs e) { Rando..

C# 2022.06.09

041_Splash

Random으로 색깔을 만들어 표시하고 DB에 저장하여 값을 불러오도록 해보자 List borderList; // Timer t = new Timer(); winform 에서 사용하는 방법 // wpf는 timer객체 없음 DispatcherTimer t = new DispatcherTimer(); Random r = new Random(); 전체 소스코드는 맨 아래에 게시해두었다. winform이었다면 timer로 객체를 만들었겠지만 wpf는 timer객체가 없기때문에 DispathcherTimer라는 메소드를 이용해 객체를 생성해주자. public MainWindow() { InitializeComponent(); borderList = new List { bd1,bd2,bd3,bd4,bd5,bd6,..

C# 2022.06.09

040_WPF Login

WPF를 이용해서 로그인창을 만들어보자 디자인 xaml코드이다. 먼저 SQL Server를 연결하기 위해서 프로젝트에 우클릭 - 추가 - 서비스 기반 데이터베이스 - 이름 설정. DB를 추가하면 DB에 우클릭 - 새 쿼리 위 사진 처럼 설정한다. UserName과 Password 는 Null이면 안되기 때문에 Null허용 체크박스를 해제한다. + Id를 클릭해서 속성에서 ID 여부를 Flase -> True로 변경함. 새쿼리문 작성을 통해 INSERT INTO LoginTable(UserName, Password) values ('shpark','1234') SELECT * FROM LoginTable sql문 입력 namespace _040_WPFLogin { /// /// MainWindow.xaml..

C# 2022.05.20

039_PhoneBook(Access DB예제)

Access DB를 이용해서 전화번호부를 만들어보자. 기능으로는 전체보기, 추가, 검색, 삭제, 수정 등 먼저 DB연동이 필요하다. MS사의 Access DB의 파일을 만들고 필드명을 지정해야한다. 필드명으로는 먼저 ID, SID(학번), SName,Phone 정도면 되겠다. visual stdio에서 도구 - 데이터베이스에 연결 하면 위의 창과 같이 뜨는데 찾아보기로 DB파일 연결해주고, 고급을 누르면 Provider에 체크표시와 같이 뜨게 된다. 이는 나중에 DB에 접근할때 사용해야하니 복사해두도록하자. 확인을 눌러서 연결이 완료되면 이렇게 전력이 연결된 플러그처럼 초록색으로 뜨게된다. using System; using System.Collections.Generic; using System.Com..

C# 2022.05.20

038_ListArray

List형과 Array형의 차이를 알아보자 배열(Array) 1. 고정된 크기를 갖는 같은 자료형의 원소들이 연속적인 형태로 구성된 자료구조. 2. 데이터 개수가 확실하게 정해져 있고, 접근이 빈번하다면 배열이 효율적이다. 3. cache hit 가능성이 커 성능에 도움이 된다. *(cache hit : cpu가 참조하고자 하는 메모리가 캐시에 존재하고있는 경우) 리스트(List) 1. 빈틈없는 데이터 적재가능 2. 배열의 문제점을 해결하기 위한 자료구조 ※참고 list의 경우 sort : list_name.Sort(); array의 경우 sort : Array.Sort(array_name); static void Main(string[] args) { List lst = new List(); int[]..

C# 2022.05.11

037_Calculator

MC MR M+ M- MS % √ x² 1/x CE C Del ÷ 7 8 9 x 4 5 6 - 1 2 3 + ± 0 . = 큰 틀로써 설명하자면 Grid.RowDefinitions와 Grid.ColumnDefinitions로 계산기의 틀을 만들어주고 각각의 버튼에 이벤트와 이름을 지정해준다. public partial class MainWindow : Window { private bool opFlag; private bool memFlag; private double saved; private string op; private bool afterCalc; private double memory; public MainWindow() { InitializeComponent(); btnMC.IsEnabled..

C# 2022.04.27

035_036_ChessBoard

체스판을 만들어보자! 35번 36번은 같은 문제이다. 먼저 chess_Borad의 Rows와 Column을 8칸 X 8칸으로 해준다. 각각 줄별로 loop하고 각 라인의 각의 홀짝으로 색깔을 번갈아가며 색칠하는 알고리즘을 사용하였다. public MainWindow() { InitializeComponent(); chess_Board.Rows = 8; chess_Board.Columns = 8; for (int k = 1; k < 9; k++) //줄별로 { if (k % 2 == 0) { for (int j = 0; j < 8; j++) { if (j % 2 == 0) { Rectangle r1 = new Rectangle(); r1.Fill = Brushes.Black; chess_Board.Chil..

C# 2022.04.13

034_UserControl

사용자가 버튼을 클릭했을때 색깔이 바뀌게 해주자. DockPanel은 화면크기가 달라져도 유연한 변화가 가능하다. TextBlock으로 각각이름과 속성 지정 StackPanel안에 버튼 세개를 만든다. 이름은 Red(btnR) , Green(btnG) , Blue(btnB) button에서 또다시 색깔이 있는 정사각형과 이름을 넣어야하기때문에 stackpanel로 해준다. 각각의 버튼에 아래와 같은 코드로 지정. COLOR TEST Red Green Blue 색깔을 확인해야하는데 이것을 버튼으로 확인하도록하자. 버튼의 Dockpanel 지정 마진 등 속성을 설정해주자. 그리고 버튼의 색깔을 바꾸는 이벤트를 설정하자. private void btnG_Click(object sender, RoutedEven..

C# 2022.04.13

033_StackPanel

좋아하는 프로그래밍 언어를 선택하세요. C C++ C# Python Java 투표하기 나가기 stackpanel은 위에서 쌓아가는것이다. 그래서 선호 프로그래밍언어 창을 만들어보자. separator로 분리 시켜줌 그리고 CheckBox x:Name을 지정해주고 margin 지정, text도 지정 한번더 separator로 막대기를 놔준다. 이후 버튼을 정렬하기위해 stackpanel안에 두개의 버튼을 넣고 각각의 이름과 margin, click에 관한 이벤트를 지정한다. private void btnSubmit_click(object sender, RoutedEventArgs e) { string str = string.Empty; foreach (var cb in cbs) { if (cb.IsChec..

C# 2022.04.12