728x90
반응형

C# 58

[C#] WinForm UI Dock Fill 도킹 이상 문제 해결방법 두 가지 (+ Dock 순서)

WinForm UI를 구성할 때 Panel이나 혹은 여러 Control을 Dock 속성을 사용해 디자인한다. Control을 Form에 넣은 순서에 따라 Dock 표시가 제대로 되지 않는 경우가 있다. 아래에 Panel과 TabControl을 예시로 보자. TabControl을 먼저 넣고, Panel을 이후에 넣었다. 그리고 panel1은 Dock = Top 속성으로 지정하고, tabControl1은 Dock = Fill로 지정했을 때, 위 오른쪽 사진처럼 tabControl1이 panel1에 가려지는 현상이 나타난다. 이를 해결하는 방법은 두 가지가 있다. 첫 번째. Designer.cs 파일에서 코드 순서를 변경하여 Control 순서를 변경하는 방법. Form1.Designer.cs 파일에서 For..

IT/C# 2024.04.12

[C#] Excel NumberFormat 표시 형식 지정해서 저장하기

2024.03.14 - [IT/C#] - [C#] Excel 사용하기. Create Excel File + Update Excel File [C#] Excel 사용하기. Create Excel File + Update Excel File [ C# Excel 사용하기 ] 1. 참조 추가하기 * 해당 PC에 Excel이 설치되어 있어야 하며, 엑셀 버전에 따라 해당 숫자가 다를 수 있음. 2. Excel 사용하기 Excel.Application을 사용해야 하는데, 위와 같이 에러가 ella-devblog.tistory.com (Excel 저장 방법은 위 포스팅을 참고해 주세요) Excel 저장 시 NumberFormat 표시 형식을 지정해서 저장하는 방법입니다. 전체 소스 코드 1 2 3 4 5 6 7 8 ..

IT/C# 2024.04.08

[C#][Solved] Couldn't process file From '.resx' due to its being in the internet

Couldn't process file From '.resx' due to its being in the internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files. '.resx' 파일은 인터넷 또는 제한 영역에 있거나 파일에 웹 표시가 있으므로 처리할 수 없습니다. 이러한 파일을 처리하려면 웹 표시를 제거하세요. 첫 번째 방법.파일 속성에서 바꾸는 방법. 1. 해당 폴더에서 *.resx 모든 파일 검색 2. 해당 resx 파일 우클릭 > Properties (속성) 클릭 3. Unblock 체크 후 Apply 클릭This fi..

IT/C# 2024.04.04

[C#] 파일/폴더명에 입력하면 안되는 문자 제거 (KeyPress vs. Regex)

윈도우에서 파일 혹은 폴더명에 입력하면 안 되는 문자는 다음과 같습니다. / \ : * ? " | 1. TextBox KeyPress Event 텍스트박스에 입력할 때 KeyPress 이벤트에서 누른 키가 해당 특수문자일 경우 제외하도록 아래와 같이 코드를 입력합니다. 위와 같이 특수문자를 입력할 경우 윈도우 환경과 동일하게 ToolTip도 표시해 줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ToolTip tooltip = new ToolTip(); private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { // 누른 키가 파일명에 들어가면 안되는 경우 체크 if ((e.KeyChar == '\\')..

IT/C# 2024.03.08

[C#] Color Picker 만들기. 이미지 해당 픽셀의 컬러 값 가져오기.

pictureBox1에 로드한 이미지에서 마우스 클릭 시 해당 포인트의 컬러를 lblColor의 배경색으로 변경해 주고, RGB 값과 HEX 값을 텍스트박스에 각각 입력해 주는 코드입니다. bmp.GetPixel(x, y) 해당 Bitmap의 지정된 픽셀의 색을 가져옴 pointColor.R pointColor.G pointColor.B 컬러의 R, G, B 값을 가져옴 pointColor.Name 컬러의 HEX 값을 가져옴 (ex) ff4a4c4f C# Color 구조체는 ARGB로 구성이 되어있기 때문에 Hex 값이 8자리입니다. A(Alpha) 값은 투명도를 나타내는데, 투명도를 제외한 RGB Hex 값만 뿌려주도록 아래와 같이 앞의 두 자리를 제외하고 영문자는 대문자로 나타내도록 했습니다. poi..

IT/C# 2024.02.16

[C#] String 문자열끼리 비교하기. String 문자열 오름차순/내림차순 정렬. List<Struct> 구조체 리스트 오름차순/내림차순 정렬.

안녕하세요, Ella입니다😍 이번엔 string 문자열끼리 비교하는 법, 구조체 리스트 오름차순/내림차순 정렬하는 법에 대해 알아보겠습니다. 밑에 캡쳐본은 예시로 가져와봤는데, 이번에 '이재, 곧 죽습니다'를 너무 재밌게 봐서 배우들 이름을 넣었습니다. ㅋㅋㅋ 지훈오빠 요즘 너무 멋있어요...❤ 근데, 이도현씨 저보다 오빠인 줄 알았는데,, 어리시네요,,, 하하 아무튼,,,,😂 각설하고 시작해 보겠습니다..^^ 그냥 단순한 List 문자열 리스트였다면, 위와 같이 간단하게 Sort 함수를 사용하여 정렬할 수 있습니다. 다만, List 구조체 리스트 같은 경우는 위와 같이 Sort 함수를 사용하는 경우 에러가 나기 때문에 사용할 수 없습니다. 구조체 안의 변수가 하나 이상이고 서로 비교할 수 없기 때문입니..

IT/C# 2024.01.26

[C#] ComboBox AutoComplete 기능 총정리. 콤보박스 아이템 추가하기+삭제하기+검색하기(자동완성 필터 기능 추가하기).

콤보박스 아이템 리스트를 추가하고, 삭제하고, 검색하는 기능까지 알아보도록 합시다👍 먼저, 예시를 보여드리겠습니다. 제가 좋아하는 Johnny Stimson😍의 노래 리스트를 먼저 ComboBox에 추가해 뒀고, 콤보박스에서 검색하는 화면을 녹화했습니다. 알파벳 한 글자만 입력해도 자동 완성이 되는 모습을 볼 수 있습니다. 아이템에 해당하는 값이 없으면 안 나오고요. 제가 textBox1에 TEST를 입력하고 ADD 버튼을 눌러 콤보박스에 추가했습니다. 그리고 t를 입력하면 콤보박스에 T-shirt와 TEST 두 가지 경우가 있기 때문에 위와 같이 선택지가 T로 시작하는 아이템들로 정렬이 됩니다. TEST를 DELETE로 지우고 다시 검색하면 T-shirt만 나오게 됩니다. 본격적으로 프로그램을 어떻게 ..

IT/C# 2024.01.11

[C#] ZedGraph 이용하여 그래프 그리기. NuGet Packages 설치하기. 실시간 그래프 그리기 예시.

Project > Manage NuGet Packages... 클릭 Browse > zedgraph 검색 후 하단 ZedGraph Install 버튼 클릭하여 설치 설치가 완료되면 도구상자 Toolbox에 ZedGraph Library가 추가되고, 하단에 ZedGraphControl을 이용하여 그래프를 그릴 수 있다. 메인 Form에 zedGraphControl1 및 button1 추가 using ZedGraph; 추가 전역변수로 GraphPane, PointPairList 추가 InitGraph()로 그래프 타이틀 및 축 등 그래프 기본 설정하기 button1_Click 했을 때 그래프 실시간으로 그리도록 코드 추가 [전체 소스코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16..

IT/C# 2024.01.10

[C#] MessageBox 버튼 종류 및 아이콘 설정하기.

MessageBox.Show() 사용방법 정리. A. MessageBox.Show(메세지내용); 메시지 박스 내용만 있고, 박스 제목과 아이콘은 없음. Default로 OK 버튼만 있는 형태. B. MessageBox.Show(메시지내용, 메시지박스제목); 메시지 박스 내용과 박스 제목을 설정할 수 있음. 마찬가지고 버튼을 따로 지정해주지 않아 OK 버튼만 있는 형태. C. MessageBox.Show(메시지내용, 메세지박스제목, 메세지박스 버튼타입); 메세지 내용과 박스 제목을 입력하고, 메시지박스의 버튼타입을 설정할 수 있다. 버튼타입은 OK, OKCancel, AbortRetryIgnore, YesNoCancel, YesNo, RetryCancel으로 6가지 종류가 있다. > OK Cancel Me..

IT/C# 2023.11.30

[C#] Button Click Event 여러개 동적 할당하기.

버튼 여러 개를 사용하는 경우 디자인 탭에서 일일이 버튼 이벤트를 할당해 줄 수도 있지만, 양이 많고 규칙이 있다면 간단하게, 한 번에 할당해서 사용할 수 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public Button[] btn; public Form1() { InitializeComponent(); btn = new Button[] { button1, button2, button3, button4, button5, button6, button7, button8, button9, button10 }; for (int i = 0; i

IT/C# 2023.11.30
728x90
반응형