728x90
반응형

Winform 27

[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#] 파일/폴더명에 입력하면 안되는 문자 제거 (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#] 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#][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#] DataGridView ComboBoxCell Column Create & SelectedIndexChanged Event & Reset (feat. 가계부 프로그램 업데이트)

안녕하세요 ELLA입니다! 제가 진짜 정말 계속 진심 기다리던 애플페이!!❤❤ 이번에 개시하자마자 바로 현대카드 만들고~ 그날 저녁에 야근하고(ㅋㅋ) 집 가는 길에 편의점에서 바~로 써봤습니다. 아 좋더라구요 ㅎㅎ 와우 ㅎㅎ 그래서 신용카드를 새로 만든 김에 제가 만들어서 쓰던 가계부도 나름대로 프로그램 업데이트 진행해 봤습니다. (가계부 만들기 포스팅 보러 가기) 2020.02.29 - [IT/C#] - [C#] 가계부 프로그램 만들기 DAY2. 프로그램 UI 생성 및 가계부 기본 설정하기 그리고 프로그램 개발하면서 DataGridView 몇 가지 활용법을 포스팅으로 써봤습니다. 동영상은 가계부 프로그램에서의 ComboBoxCell SelectedIndexChanged 기능 영상으로 만들어보았습니다. ..

IT/C# 2023.03.24

[C#] 숫자만 입력 가능한 텍스트박스 구현 방법 2가지!

안녕하세요 ELLA 입니다 🙌 개발을 하다 보면 한 번쯤 쓰게 되는 숫자 텍스트박스. Integer나 Double, Float 등 텍스트박스 안의 값을 숫자로 형변환 할 때 오류를 줄일 수 있는 방법으로 많이 사용됩니다. 두 가지 방법 중 때에 따라 알맞게 사용하시면 됩니다. 첫 번째. NumericUpDown 컨트롤 사용하기! 아주 간단한 방법! Winform 도구상자에서 NumericUpDown 컨트롤을 이용하는 방법입니다. 오른쪽의 UI를 보면 Up/Down 버튼이 있어 1 만큼씩 (혹은 설정한 단위 값으로) 값을 변경할 수 있으며, 숫자가 아닌 문자 입력은 자동으로 허용하지 않습니다. 하지만 NumericUpDown의 값은 10진수 Decimal 형식이기 때문에 소수점 단위를 사용할 경우에는 부적..

IT/C# 2023.03.07
728x90
반응형