728x90
반응형

IT/C# 79

[C#] WinForms Button 혹은 다른 Control에 세로 텍스트 적용하기.

C# WinForms Button에 세로 텍스트 적용하기윈도우 폼 애플리케이션을 개발하다 보면 기본 Button 컨트롤에 가로 텍스트만 표시되는 것이 아쉬울 때가 있습니다.특히 메뉴 버튼이나 툴바 형태의 UI를 만들 때는 세로로 텍스트를 출력하고 싶을 때가 많습니다.이번 포스팅에서는 C# WinForms에서 Button 컨트롤에 세로 텍스트를 적용하는 방법을 알아보겠습니다.1. 기본 Button 텍스트는 가로만 표시된다기본적으로 WinForms의 Button 컨트롤은 Text 속성으로 문자열을 출력하며, 가로 방향만 지원합니다.따라서 별도의 기능이 없으면 세로 텍스트를 표시할 수 없습니다.이 문제를 해결하기 위해서는 OnPaint 이벤트를 오버라이드하거나 ControlPaint.DrawString과 같은..

IT/C# 2025.08.25

[C#] OpenCvSharp4 사용하여 이미지 발광영역 Rectangle 검출하기

Bitmap 이미지에서 밝은 영역의 사각형(Rectangle)을 검출하는 OpenCvSharp C# 예제 코드[Visual Studio NuGet Package 설치][원본 이미지, 결과 이미지 미리보기] [코드 설명] 이미지 로드Grayscale 변환밝은 영역 마스크 생성 (Threshold)Contour(윤곽선) 검출윤곽선의 BoundingRect 계산원본 이미지에 사각형 표시 후 저장Cv2.Threshold: 픽셀 값이 100 이상이면 흰색(255), 아니면 검은색(0)으로 변환.Cv2.FindContours: 밝은 영역의 윤곽선 탐색.Cv2.BoundingRect: 윤곽선의 최소 Bounding Box 계산.작은 노이즈 제거를 위해 최소 크기 조건 추가. 12345678910111213141516..

IT/C# 2025.08.25

[C#] 스펙트럼 데이터 삼자극치(XYZ) 계산하기. 색좌표(CIE1931 x, y) 계산하기. C# 구현 예제.

삼자극치(XYZ) 계산 함수 만들기이번 포스팅에서는 380nm ~ 780nm 구간의 스펙트럼 데이터**CIE 등색함수(Color Matching Functions, CMF)**를 이용해**삼자극치(X, Y, Z)**를 계산하는 방법을 정리해보겠습니다.조명이나 물체의 색을 다룰 때, 스펙트럼 데이터만으로는사람이 인지하는 색을 바로 알 수 없습니다.그래서 CIE 1931 XYZ 표색계가 도입되었고,이를 통해 **삼자극치(Tristimulus Values)**를 구할 수 있습니다. 1. 삼자극치(XYZ) 정의삼자극치는 다음과 같은 적분식으로 정의됩니다. 보통 k는 Y 값이 100이 되도록 맞추기도 하지만,단순 계산에서는 k=1로 두어도 무방합니다.2. C# 구현 예제아래는 **1nm 간격(380~780nm)*..

IT/C# 2025.08.25

[C#] Excel Workbook XML 파일 형식으로 저장하기 (Workbook.SaveAs)

Excel File 생성하는 방법과 동일하게Excel.Application을 이용해 엑셀 연결 후Workbook 생성, WorkSheet 생성한 다음저장할 때 XML 파일로 저장하는 방법이 있다.  Workbook.SaveAs 메서드를 이용하여파일 포맷을 XML 형식으로 지정 후나머지 옵션들을 설정하여 저장하면 된다.  (참고1 - Microsoft 공식문서) Workbook.SaveAs 메서드 (Microsoft.Office.Tools.Excel)통합 문서의 변경 내용을 다른 파일로 저장합니다.learn.microsoft.com (참고2 - 이전 발행글) [C#] Excel 사용하기. Create Excel File + Update Excel File[ C# Excel 사용하기 ] 1. 참조 추가하기 ..

IT/C# 2024.12.05

[C#] DataGridView 자동 줄바꿈 기능 & 행 높이 자동 변환 (WrapMode & AutoSizeRowsMode)

DataGridView 사용 시 Cell 안의 텍스트 길이가 길면 자동으로 줄바꿈 + 높이 변경을 하고 싶을 때. 📌 기본 설정인 경우 텍스트 길이가 길면 텍스트를 전부 확인할 수 없고,마우스 오버 시 툴팁으로 전체 string을 확인할 수 있다. 📌 DefaultCellStyle (WrapMode = True) 설정한 경우 Default Cell Style의 Wrap Mode를 사용하면,위와 같이 텍스트가 오른쪽으로 쭉 입력되는 것이 아니라자동으로 오른쪽 박스에 닿으면 줄바꿈이 된다.하지만, 사진에서 보이는 것과 같이 행 높이 조절은 안된다. (글씨 잘림) 📌 AutoSizeRowsMode (AllCellsExceptHeaders) 설정한 경우 Auto Size Rows Mode가 N..

IT/C# 2024.12.04

[C#] 실시간 시계 라벨 만들기. Timer 사용법.

Clock(control, format) 함수- control : 텍스트를 갱신할 컨트롤- format : 출력할 날짜 포맷 Timer 설명- Interval(milliseconds)이 10인 타이머 생성- 타이머 Tick마다 Control의 Text를 format 형식으로 업데이트 Form 생성 시 Clock함수를 호출해 창에서 실시간으로 시간을 확인할 수 있다. 만약, Clock(lblClock, "yyyy-MM-dd HH:mm:ss.fff");이렇게 ms까지 표시하도록 등록하면,아래와 같이 갱신된다. 12345678910111213public static void Clock(Control control, string format = "yyyy-MM-dd HH:mm:ss"){    var t = ne..

IT/C# 2024.11.21

[C#] ListBox SelectionMode 차이 (None, One, MultiSimple, MultiExtended)

1. listBox1.SelectionMode = SelectionMode.None;: 리스트박스 아이템 선택 불가  2. listBox1.SelectionMode = SelectionMode.One;: 리스트박스 아이템 하나만 선택 가능   3. listBox1.SelectionMode = SelectionMode.MultiSimple;: 마우스 클릭만으로 여러개 선택 가능: Ctrl, Shift 조합으로 선택할 수 없음: 마우스 드래그로 여러개 선택 불가능   4. listBox1.SelectionMode = SelectionMode.MultiExtended;: 마우스 클릭으로는 하나씩만 선택 가능: Ctrl, Shift 조합으로 여러개 선택 가능: 마우스 드래그로 여러개 선택 가능

IT/C# 2024.11.11

[C#] FlowLayoutPanel TopDown 방향인데 스크롤이 좌우로만 나타나는 현상

FlowDirection 방향을 TopDown으로 설정.AutoScroll을 True로 설정.했으나, 실제로는 아래 사진과 같이내부 컨트롤이 flowLayoutPanel 하단에 닿으면 열이 변경되고,좌우 스크롤만 생기는 현상일 때,  해결방법으로  WrapContents를 False로 해주면,  위 사진처럼 TopDown (위아래) 로만 한 열로 내부 컨트롤이 정렬되고,위아래 스크롤이 생긴다.

IT/C# 2024.11.08

[C#] ListBox Items or SelectedItems to String Array (Items.OfType<string>().ToArray())

실제 데이터 타입은 보통 컴포넌트 타입을 따라가거나 Object 형식으로 되어있음.checkedListBox1.CheckedItems : CheckedListBox.CheckedItemCollectionlistBox1.Items : ListBox.ObjectCollectionlistBox1.SelectedItems : ListBox.SelectedObjectCollection 원하는 ObjectCollection을 .OfType().ToArray()를 이용하여string array로 변경할 수 있다. 12345678910string[] checkBoxCheckedData = checkedListBox1.CheckedItems.OfTypestring>().ToArray();//checkBoxCheckedD..

IT/C# 2024.11.07
728x90
반응형