분류 전체보기(110)
-
[C#] DataGrid로 표 형태의 데이터를 다뤄보자
안녕하세요. 진득코딩입니다. 이번 시간에는 도구 상자들 중에서 표 형태의 데이터를 다룰 때 사용하면 유용한 DataGrid에 대해서 살펴보도록 하겠습니다.DataGrid 살펴보기 DataGrid는 표 형태의 데이터를 표현하기 위한 도구입니다. 도구 상자에서 DataGrid를 Drag&Drop해서 사용할 수 있습니다. XAML 코드를 확인하시면 DataGrid 태그가 추가된 것을 확인할 수 있습니다. 해당 화면에서 필요한 컬럼을 각각 추가하고 태그의 내용을 입력해줍니다. DataGrid에는 유용한 두 가지 옵션이 있습니다. AutoGenerateColumns 옵션을 켜게 되면 DataGrid로 데이터가 입력되게 되면 자동으로 컬럼을 생성해주는 기능입니다. 두 번째 옵션은 CanUserAddRows 옵션으로..
2024.07.29 -
[C#] WPF에 있는 imageBox를 활용해보자
안녕하세요. 진득코딩입니다. WPF에서 지원하는 Tool들이 굉장히 많습니다. 이러한 Tool들을 모두 다 활용할 수는 없지만 많이 사용되는 것들을 살펴보면서 사용해보는 시간을 가져보겠습니다. 이번 시간에는 imageBox를 활용하여 이용하여 보겠습니다.WPF 도구상자 목록 WPF에는 위와 같이 많은 도구 상자들이 있습니다. 이 중에서 이번 시간에는 imageBox를 중점적으로 활용해보도록 하겠습니다.imageBox를 활용해보자 왼쪽에 있는 도구상자를 클릭해서 image를 drag&drop하면 위와 같이 화면에 imageBox가 할당됩니다. 저 위치에 이미지를 넣을 수 있습니다. 해당 imageBox에 사진을 넣는 것은 로컬에 있는 사진을 넣는 방법을 사용하였습니다. 프로젝트에 우클릭하여 추가>기존 항목..
2024.07.29 -
[C#] WPF를 이용하여 C# 개발하기
안녕하세요. 진득코딩입니다. 저번 시간까지는 winForm으로 C# 개발을 해왔습니다. 하지만 많은 개발자들이 C#을 개발할 때에 winForm에서 WPF로 넘어가는 추세라고 합니다. 이번 시간에는 WPF를 이용하여 어떤 식으로 C#을 개발하는지 살펴보도록 하겠습니다.WPF란 WPF란 Windows Presentation Foundation의 약자로 마이크로소프트에서 2006년에 만든 UI 프레임워크입니다. .NET으로 빌드가 가능하고 Visual Studio에서 작업해야 합니다. 이제껏 사용하던 WinForm은 실행할 때부터 이미 디자이너 툴이 만들어져 있기 때문에 개발이 쉽고 개발 시간이 짧습니다. 하지만 이미 만들어져 있는 툴을 사용해야하기 때문에 확장성이 떨어집니다. 반면에 WPF은 XAML코드로..
2024.07.29 -
[C#] 대리자와 이벤트에 대해서 살펴보자
안녕하세요. 진득 코딩입니다. 이번 시간에는 함수를 변수처럼 사용할 수 있게 해주는 대리자와 응용 프로그램에서 발생하는 모든 사건들을 말하는 이벤트에 대해서 살펴보도록 하겠습니다.delegate delegate에 대해서 살펴보기 전에 Tank라는 클래스를 만들어 주었습니다. 해당 클래스에는 여러 메서드들을 포함하고 있습니다. 위와 같이 클래스를 만들고 Move라는 함수에 delegate해줍니다. delegate된 Move에 tank에 있는 메서드들을 마치 변수처럼 추가하거나 삭제할 수 있습니다. 전진, 후진, 회전을 넣은 후 회전만 다시 뺀 상태에서 result를 출력해보면 전진과 후진이 출력되는 것을 확인하실 수 있습니다. 위와 같이 대리자는 변수처럼 함수의 매개변수로 사용될 수도 있습니다. 하지만 매..
2024.07.26 -
[C#] 멀티스레드를 이용하여 레이스 프로그램을 만들어보자
안녕하세요. 진득코딩입니다. 이번 시간에는 저번 시간에 살펴본 멀티 스레드의 불확실성을 이용한 레이스 프로그램을 만드는 실습을 해보도록 하겠습니다.더보기멀티스레드 레이스요구사항1. 총 5명의 참가자가 차량을 가지고 있습니다.2. 각 차량은 랜덤한 시간 간격으로 한 단위 움직입니다. 이 시간 간격은 0.1초에서 1초 사이로 설정합니다.3. 차량이 결승선에 도달하면 해당 참가자의 이름과 완료 시간을 출력합니다.4. 모든 차량이 결승선에 도달하면 레이스를 종료합니다. 위와 같은 요구사항을 바탕으로 멀티스레드의 기본 개념과 C#의 스레드 관리 방법에 대해서 연습해보도록 하겠습니다.시연 프로그램을 실행하게 되면 위와 같은 화면이 나오게 됩니다. 왼쪽에 레이스 시작 버튼이 있고 오른쪽에는 큰 textBox가 위치해..
2024.07.26 -
[C#] 멀티 스레드에 대해서 알아보자
안녕하세요. 진득 코딩입니다. 이번 시간에는 많은 개발을 배우시는 분들을 좌절시키고 필자 또한 좌절하고 있는 멀티 스레드에 대해서 살펴보도록 하겠습니다. 멀티 스레드에 대해서 살펴보기 전에 스레드에 대해서 먼저 살펴보도록 하겠습니다. 스레드는 CPU가 일하는 단위의 최소 단위로서 하나의 프로세스가 최소 하나의 스레드를 가지게 되며 하나의 프로세스가 여러 개의 스레드를 갖는 것이 가능합니다. 프로세스 안에는 기본적으로 Heap, static, code 영역이 있으며 각각의 스레드는 registers와 stack을 가지고 있습니다. 스레드는 싱글 스레드와 멀티 스레드로 구분되는데 싱글 스레드는 순차 실행하는 반면에 멀티 스레드는 여러 스레드가 병렬 실행하는 특징을 가지고 있습니다. 하나의 프로세스에서 여러 ..
2024.07.26