2022/04 12

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

029_DateTimePicker

DateTimePicker 도구를 이용해 현재 날짜와 지정한 날짜의 차를 구해보자 그리고 TextBox도 끌어와 txtDate로 이름을 지정. DateTimePicker도구를 폼으로 끌어와 DateTimePicker의 이벤트를 상단의 그림처럼 ValueChanged의 값을 바꾸어준다. 그리고 메소드를 생성. private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { DateTime Today = DateTime.Today; DateTime sDay = dateTimePicker1.Value; txtDate.Text = Today.Subtract(sDay).TotalDays.ToString("0"); } DateTime형식의 Today ..

C# 2022.04.06

028_Timer

폼에 레이블을 가져와서 넣어주고 레이블을 크기를 만져주기위해 레이아웃의 AutoSize - False로 지정해주고 크기를 맘에 들게 지정. + 이름은 lblTime으로 바꾸어줌 private void Form1_Load(object sender, EventArgs e) { lblTime.Location = new Point( (ClientSize.Width / 2 - lblTime.Width / 2), (ClientSize.Height / 2 - lblTime.Height / 2)); lblTime.Font = new Font("맑은고딕", 30, FontStyle.Bold); lblTime.Text = ""; timer1.Interval = 1000; timer1.Tick += Timer1_Tick; ..

C# 2022.04.06

027_ComboBox를 이용한 성적계산기

ComboBox를 이용한 성적계산기를 만들어보자 도구 상자에서 성적계산을 원하는 과목개수만큼 textbox를 만들어 이름을 txt1 ~ 7 까지 만듦 combobox를 이용해서 학점은 cred1~7 / 성적은 grd1~7 성적이 총 계산되어서 나오는 부분은 txtGrade라고 지정해주었다. TextBox[] titles; ComboBox[] crds; //학점 ComboBox[] grds; //성적 폼 생성자에는 TextBox형 리스트/ComboBox[] / ComboBox[] 만들어준다. 과목명에 txt1.Text = "인체와구조의기능I"; txt2.Text = "일반수학I"; txt3.Text = "데이터사이언스"; txt4.Text = "설계 및 프로젝트"; txt5.Text = "중국어I"; tx..

C# 2022.04.06