C# 51

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

032_Grid

Grid를 이용해 위와 같이 여러 버튼과 그의 크기를 조절해보자. Click me! 1 Click me! 2 Click me! 3 한줄한줄 코드 설명을 해보겠다. 로 grid창을 만들고 Margin: 바깥여백 설정 Padding: 안쪽여백 설정 margin을 20픽셀로 잡고 백그라운드컬러를 필자가 맘에 들어하는 Bisque로 설정 하겠다. Gird.RowDefinitions 가로로 나눔 Grid.ColumnDefinitions 세로로 나눔 중간에 Height = "2*"인것은 총 세개의 비율을 2:1:1로 하겠다는 뜻이다. 버튼도 세개를 만들어 margin, 총 9개로 나누어진 곳에 row,column 의 위치를 정해주고 이름도 지정해준다.!

C# 2022.04.12

031_WPFHELLO

WPF로 HELLO WORLD를 찍고 텍스트 블록을 클릭했을때 색깔이 바뀌게 해보자 Hello World 는 내부의 UI요소를 가득차게 표시하는 컨테이너로 레이아웃을 차곡차곡 쌓아준다. TextBlock의 x:Name을 TextHello로 지정해주고 VerticalAlignment와 VerticalAlignment도 center로 지정해준다. 폰트에 관하여서 설정해준다. 이제 텍스트 블록을 눌렀을때 색깔이 바뀌게해보자 텍스트 블록을 클릭하고 속성창에서 MouseDown 이벤트를 눌러 cs파일에 메소스들 생성한다. MouseDown이벤트가 발생했을때 MessageBox를 띄우기위해 MassageBox.Show("Text Clicked" , "string msg") 조건문으로 색깔을 변경하기 위해 if(gr..

C# 2022.04.12