728x90
반응형

IT/C# 63

[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

[C#] Form Close Button Disable. 폼 컨트롤 박스 닫기 버튼 사용 못하도록 처리하기.

Form 생성 시 위의 닫기 버튼을 사용 못하게 하고 싶은데, 아래와 같이 ControlBox를 False 처리하면 최소화, 최대화 버튼도 사라지는 것을 알 수 있다. 닫기 버튼만 삭제하려고 찾아봤으나, 그것만 삭제하는 것은 불가능하고, Disable 처리는 가능해서 해당 코드를 가져왔다. 코드를 적용하면 위와 같이 닫기 버튼이 비활성화된 것을 볼 수 있다. 1 2 3 4 5 6 7 8 9 10 11 //Form Close Button Disable private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams { get { CreateParams myCp = base.CreateParams; myCp.Cl..

IT/C# 2023.11.22

[C#] Clone a List. 리스트 복제하는 간단한 방법과 주의할 점.

C# List 사용 시 단순하게 기존 List를 새로운 List에 할당하는 방법은 복제하는 것과는 차이가 있다. 요즘 과몰입 중인 스우파,, 멤버들을 넣어서 예시를 만들어봤다. (바다언니 사랑해요❤) 아래 코드는 잘못된 예시를 보여준다. List는 참조 형식이고 다른 데이터 형식의 변수들처럼 member2 = member1; 으로 할당하는 경우 참조를 할당하기 때문에 기존 리스트에도 변화가 생긴다. member1 기존 리스트에 까지 영향을 끼치기 때문에 주의할 필요가 있다. List의 범위 지정 없이 전체 리스트 복사본을 생성하는 간단한 방법 두 가지에 대해 알아보자. 1. Enumerable.ToList() Method 사용 (System.Linq) 위 코드에서 간단하게 .ToList() 만 추가해 주..

IT/C# 2023.09.06

[C#][Solved] Failed to load toolbox item 'UserControl1'. It will be removed from the toolbox. 해결방법.

C# 프로젝트에서 User Control을 사용하기 위해, UserControl1.cs 파일을 만들고 Build 후에 Main UI에 넣으려고 했는데 에러가 났다. Failed to load toolbox item 'UserControl1'. It will be removed from the toolbox. 도구상자 항목 'UserControl1'을 로드하지 못했습니다. 해당 항목은 도구 상자에서 제거됩니다. 에러 내용은 위와 같은데, 해결방법은 다음과 같다. 프로젝트 속성에서 Platform target이 x86 혹은 x64로 지정되어 있기 때문이었다. 이를 Any CPU로 바꾸고 다시 빌드해주면 Main UI 도구상자에서 사용이 가능해진다.

IT/C# 2023.09.05

[C#] Text, CSV 등 파일 저장하기/열기 (SaveFileDialog, OpenFileDialog, StreamWriter, SteamReader, Encoding, using 구문)

C# Winform을 활용하여 1. 텍스트박스의 내용을 저장하거나 2. 파일을 읽어 텍스트박스에 넣어보겠습니다. 일단 Winform .NET Framework 프로젝트를 생성해 주고, Form 디자인은 다음과 같이 했습니다. txt : TextBox btnOpenFile : Button btnSaveFile : Button 그리고 각 버튼에 Click 이벤트를 등록해 주고, 다음과 같이 입력합니다. OpenFileDialog : 사용자가 파일을 열도록 요청하는 표준 대화 상자를 표시합니다. - ofd.ShowDialog() : 파일 선택창 열기 - DialogResult.OK : 열 파일 선택 완료 - ofd.FileName : 파일 대화 상자에서 선택한 파일 이름을 포함하는 파일 경로 문자열 Strea..

IT/C# 2023.08.23

[C#] ThreadException, UnhandledException 이벤트 (프로그램 강제 종료 방지)

C# Winform 개발 시 처리되지 않은 예외가 발생할 때 사용하는 이벤트로써, ThreadException을 사용하면 Winform 스레드에서 발생하는 처리되지 않은 예외를 처리할 수 있다. UnhandledException의 경우에도 이벤트에서 처리되지 않은 예외를 포착하여 비정상적인 애플리케이션 종료를 방지할 수 있다. 개발을 진행하다 보면 예외처리가 중요하지만 가끔씩 예상할 수 없는 곳에서 에러가 발생하거나 하는 경우, 프로그램이 강제 종료될 수 있는데 이를 방지하기 위해 전체적으로 처리되지 않은 예외를 핸들링할 수 있기 때문에 필수적으로 등록해줘야 하는 이벤트이다. 이를 사용하지 않는 경우 프로그램이 강제 종료될 때 윈도우 '이벤트 뷰어'를 사용하여 왜 프로그램이 강제종료되었는지 확인할 수 있..

IT/C# 2023.05.24

[C#] 윈도우 그림판 만들기 심화편 (Struct 구조체 이용하기 + List<Struct> 사용방법)

이전 포스팅 보러 가기. 2020.10.16 - [IT/C#] - [C#] 윈도우 그림판 기능 구현해보기 (PictureBox 그리기 기능, Undo/Redo 기능, 단축키 사용 방법) [C#] 윈도우 그림판 기능 구현해보기 (PictureBox 그리기 기능, Undo/Redo 기능, 단축키 사용 방법) 그림판에 여러 기능들 중에서 크게 두 가지 기능을 구현해보겠습니다. 1. 도형(사각형, 원형, 선형직선) 그리기 기능과 2. 실행 취소(Undo)/다시 실행(Redo) 기능 두 가지 입니다. 그리고 흔히들 사용 ella-devblog.tistory.com 2023.04.07 - [IT/C#] - [C#] 윈도우 그림판 만들기 3탄(?) 테이블 그리기 (PictureBox Draw Table with Co..

IT/C# 2023.04.07
728x90
반응형