Coding language/C#

[C#] DataGridView을 이용한 GridNotepad 제작

ddo04 2024. 10. 1. 01:00
728x90
visual code를 사용하여 c# 프로그램 시작 - 새 프로젝트 만들기를 클릭하여 새로운 프로젝트 생성  

 

gui로 구동 가능한 화면을 만들기 위해 windowForm을 선택하여 프로젝트 생성 

 

GridNotePadForm gui 화면 구상하기

  • gui에 필요한 도구들을 사용하기 위해서 파일에서 도구상자를 선택한 후 왼쪽에 배치
  • gui 속성을 관리할 수 있는 속성 관리자를 선택한 후 오른쪽에 배치

 

GridNotePadForm Gui 구현

  • panel 3개를 도구상자에서 가지고 와서 Dock 설정을 통해 위치 설정
  • 맨 위 상단 패널에는 flowLayoutPanel을 도구상자에서 선택하고 button 속성을 2개를 생성한 후  버튼의 id값을 btnSave, btnOpen으로 변경하고 각 버튼의 이름을 저장과 열기로 변경
  • 중간 패널에는 dataGridview를 삽입
  • 맨 하단 패널에도 flowLayoutPanel을 도구상자에서 선택하고 button 속성을 2개 생성한 후에 버튼 id 값을 btnSave. btnOpen으로 변경하고 각 버튼의 이름을 행 추가와 행 삭제로 변경
  • 파일을 열어 줄 수 있는 도구상자 openFileDialog와 파일을 저장하는 도구상자 saveFileDialog를 추가

 

Form Gui에 해당하는 소스 코드 작성

  • 전체 소스코드에서 필요한 메소드를 initEvent()로 묶어서 정리
  • 구동 로직을 위해 DataGridViewSetup()에 배열을 넣어서 이름, 전화번호, 소속, 관계, 비고를 받도록 선언
  • BtnAdd_Click, BtnDelete_Click에 간단한 이벤트 코드를 작성

  • 파일 열기 로직과 저장 로직의 소스 코드를 구체적으로 작성하였습니다
  • 엑셀 파일이 아닌 csv로 파일을 저장하고 여는 이유는 엑샐로 이러한 작업을 수행하기에는 넘 많은 비중을 차지하기 때문에 csv 파일로 대체

 

GridNotePadForm 실행 모습

  • 시작 버튼을 누르면 앞에서 만든 GridNotePadForm Gui를 보여줌

  • 각 칸에 값을 입력한 후 저장 버튼을 누르면 csv 파일로 저장이 가능하고 열기 버튼을 누르면 엑셀 파일 또는 csv 파일을 열어 각 해당하는 칸에 값을 넣어서 보여줄 수 있음

  • 행 추가를 누르면 행의 갯수가 늘어나서 많은 사람들에 대한 정보를 작성할 수 있도록 만들었으며 행 삭제를 누르면 행을 삭제하도록 구현

 

공부한 자료 : C# 프로그래밍 - 박민재 교수님