전체 글

· C#/Winform
이번 포스팅은 C#의 Windows Forms 애플리케이션을 사용하면서 알게 된 방법에 대해 정리해 보았습니다. | Form의 존재 여부 확인 Form을 사용하면서 Form을 초기화하고 생성했을 때 Form이 생성 됐는지 안 됐는지 확인하는 방법을 알고 싶었습니다. 존재 여부에 따라 코딩을 하고 싶었고 Application 컬렉션에서 방법을 찾았습니다. | Application.OpenForms Application.OpenForms는 현재 실행 중인 애플리케이션에서 열린 모든 Form을 포함하는 컬렉션입니다. 이 컬렉션은 FormCollection 타입으로, Form이 열릴 때 추가되고 닫힐 때 제거 됩니다. | Application.OpenForms 활용 방법 1. 특정 Form의 존재 여부 확인 f..
· C#
이번 포스팅은 Partial Class에 대해 알아보겠습니다. | partial class란? partial 클래스는 C#에서 제공하는 기능으로 클래스, 구조체, 메서드 등 두 개 이상의 파일로 분할하는 것을 가능하게 합니다. 즉, 하나의 클래스를 여러 파일에 걸쳐서 정의할 수 있게 해주는 키워드입니다. | partial class 사용 이유 그래서 partial 클래스는 왜 사용하는 걸까요? 예시를 통해 알아보겠습니다. 예를 들어 계산기 클래스를 만든다고 생각해 보겠습니다. Calculator라는 계산기 클래스의 기능이 점점 더 많아진다면 어떻게 될까요? 메서드가 몇 개가 안될 때는 관리하기가 쉬워지지만 50개 정도만 돼도 유지 보수가 힘들어집니다. 이때, partial 키워드를 사용하여 클래스를 여러..
· C#/Winform
이번 포스팅은 DataGridView의 Header Cell 높이 변경하는 방법에 대해 알아보겠습니다. | DataGridVeiw Header Cell 높이 변경 DataGridView Header Cell 높이 변경 하는 방법을 알려드리겠습니다. | ColumnHeadersHeight 속성 변경 비주얼 스튜디오의 컨트롤 속성 탭에서 변경할 수 있습니다 ColumnHadersHeight 속성의 값을 변경하면 Header Cell의 높이 변경이 되는 것을 확인할 수 있습니다. 코드로 속성 변경 dataGridView1.ColumnHeadersHeight = 100; 위 코드는 모든 열 헤더의 높이를 변경하는 방법이며 헤더의 높이를 100px로 설정합니다. 위 두 가지 방법 모두 같은 결과를 나타냅니다. 결..
· C#/Winform
이번 포스팅은 DataGridView에서 Column 높이를 변경하는 방법에 대해 알아보겠습니다. | DataGridView Coumn 높이 변경 방법 C#의 DataGridView의 Column의 높이라는 것은 위 그림을 말합니다. 기본적으로 DataGridView 컨트롤에서는 개별 Column의 높이를 조정하는 기능을 제공하지 않습니다. 예를 들어 위 그림에서 id Column의 높이를 조절하거나 특정 Cell 값 (예를 들어 Product 2)의 Column 높이를 조정하는 기능을 지원하지 않습니다. 이는 컨트롤의 기본적인 동작 방식과 관련이 있는데요. DataGridView는 행 기준으로 데이터를 표시하도록 설계되었기 때문입니다. 따라서 DataGridView 특정 열의 높이를 일괄적으로 변경하는..
· C#/Winform
이번 포스팅은 C#을 사용하면서 유용하게 사용할 수 있는 DataGridView 도구에 대해 설명하겠습니다. 유용한 만큼 기능도 많고 유연하게 사용할 수 있습니다. | DataGridView 이해 DataGridView는 데이터의 테이블 형태 표현을 위한 Windows Forms 컨트롤입니다. 이 컨트롤은 행, 열, 셀로 구성된 그리드 형태를 가지며 우리는 이를 통해 데이터를 표시, 편집, 정렬 등의 작업을 수행합니다. | DataGridView 구성 Columns (열) : 컨트롤의 열로 각 열은 특정 타입의 데이터를 표시 Rows (행) : 컨트롤의 행으로 각 행은 데이터의 단일 레코드를 표현 Cells (셀) : 컨트롤의 셀은 행과 열이 교차하는 지점에 위치하며 실제 데이터를 표시하는 데 사용 - ..
· C#/Winform
이번 포스팅은 C# Winform에서 이미지의 히스토그램을 표현하는 방법에 대해 알아보겠습니다. 히스토그램은 이미지의 색상 분포를 시각화하는데 유용하게 사용됩니다. 이를 통해 이미지의 전반적인 색상 톤을 빠르게 이해할 수 있습니다. | UI 구현 먼저 히스토그램으로 표현할 이미지를 나타낼 picturebox 도구와 이미지의 히스토그램을 나타낼 chart 도구를 Form에 추가합니다. 버튼 두 개를 통해 이미지를 불러오고 불러온 이미지의 히스토그램을 Chart에 표시해 보겠습니다. | picturebox 이미지 로드 구현 Image Load 버튼을 클릭 시 설정한 경로의 이미지를 picturebox에 띄우는 코드를 구현하겠습니다. 예시) Image Load 클릭 이벤트에 picturebox Image Lo..
· C#
이번 포스팅은 .NET Framework에서 비동기 작업을 수행하기 위한 디자인 패턴인 Event-based-Asynchronous Pattern(EAP)에 대해 알아보려 합니다. EAP에 대해 알아보고 실제 코드 예제를 통해 어떻게 사용하는지 알아보겠습니다. | EAP 이해 Event-based-Asynchronous Pattern(EAP)는 비동기 작업을 수행할 때 사용되는 디자인 패턴입니다. 이 방식은 이벤트와 이벤트 핸들러를 사용하여 비동기 작업의 시작과 완료를 알려줍니다. | EAP 구성 요소 비동기 메서드 : MathodNameAsync 형식의 메서드를 제공해야 합니다. 비동기 작업을 시작하는 메서드입니다. 완료 이벤트 : MathodNameCompleted 형식의 이벤트를 제공해야 합니다. ..
· C#
1. C# 비동기 프로그래밍 : Task 이해 2. C# 비동기 프로그래밍 : async, await 이해 3. C# 비동기 프로그래밍 : Task의 연속 작업 (Continuations) 이해 4. C# 비동기 프로그래밍 : Thread와 Task의 차이점 5. C# 비동기 프로그래밍 : deadlock 문제와 해결 방법 이번 포스팅은 Deadlock에 대해 정리한 내용을 알아보겠습니다. 실제로 비동기 프로그래밍으로 프로그램을 짜게 되면 생각보다 구조 설계가 힘들다고 느낌을 받을 수도 있습니다. 그런 느낌을 받게 하는 문제인 데드락(Deadlock)에 대해 정리하였습니다. | DeadLock 문제 이해 먼저 데드락(Deadlock)이란 두 개 이상의 프로세스나 스레드가 상호 배재적으로 사용하고 있는 자..
우준세
준세 단칸방