목록윈폼 (9)
JY Tech

이번시간에 UI를 수정하고 (중요)윈폼으로 만든 프로그램을 exe 형태의 배포파일로 만드는 과정을 배우면서 해당 포스팅은 끝이다. 사실 UI라고 할것도 없는게 이미 프로그래밍을 하면서 UI도 구성을 완료해서 첫화면만 구성하면 된다. 필자의 경우 위와 같이 구성했다. (사용법의 경우 본 포스팅에서 다루지 않았는데 폼을 하나 띄우고 사용법에 대해 간단하게 적어놓으면 된다. 해당 부분은 딱히 프로그래밍을 하며 배울 점이 없기 때문에 따로 추가하지 않았다) 우측 하단에 ⓒ 2022. 본인이름 All rights reserved. 와 같이 저작권 표시를 해주는 것도 좋다. 또한 pictureBox로 gif를 넣어줬다 pictureBox는 사진과 gif등을 넣을 때 사용하는 도구이다. 파란색으로 칠해진 곳의 우측에..

이번 시간에는 dataGridView에 입력한 내용들을 엑셀로 저장하는 기능을 구현할 것이다. 윈폼에서 엑셀을 연동하기 위해서는 패키지를 설치해야 한다. 화면 우측의 [참조]를 우클릭하고 [NuGet 패키지 관리] 를 클릭한다 찾아보기 에서 excel을 검색하고 이걸 설치하면 된다. ProMode의 엑셀로저장 버튼을 클릭 해 이벤트를 만들어주고 다음과 같이 코드가 구성되도록 한다 private void button2_Click(object sender, EventArgs e) { ExportToExcel(); //클릭 이벤트에 있어야 하는 코드 } 이제 ExportToExcel()을 만들어준면 된다. private void ExportToExcel() { bool IsExport = false; // C..

이번에는 UserControl8을 추가 해 주관식 응답을 관리 해 보자 필자는 이런식으로 label과 textBox를 넣었다. 주관식 영역에서는 '엔터'키를 한 명의 응답으로 인식한다. 예시는 아래 사진과 같다. 애초에 해당 포스팅 자체가 필자가 실제로 만들었어서 사용중인 프로그램을 다시 하나하나 설명하는 것이기 때문에 이미 구상해 뒀던 UI를 그대로 구현중인데 다르게 하고 싶다면 예시와 달라도 상관없다 이제 엔터키를 누르면 줄바꿈과 동시에 '-'를 넣어주는 코드를 넣어보자 먼저 첫 문장에는 무조건 -가 들어가야하기 때문에 UserControl8_Load에 다음 코드를 넣어주자 textBox1.AppendText("- "); Append는 추가하라는 뜻이다. 윈폼 뿐만이 아니라 파이썬에서도 유사하게 응용..

윈폼으로 사용자 정의 컨트롤을 만들고 추가하고 폼에서 사용하려면 내가 만든 컨트롤을 헤당 폼에 드래그 앤 드롭을 해야하는 경우가 있다. 그리고 아마 이런식의 오류가 뜰 수도 있는데 디버그 하지 않고 시작을 눌러 한번 프로그램을 실행시킨 후 다시 드래그 앤 드롭 하면 정상작동된다. MiniProject 포스팅을 하면서 나도 헤맸었던 부분인데 까먹지 않기 위해 메모용으로 남겨놓는다.

이제 ▲, ▼, ◀, ▶ 버튼에 기능을 넣어주자. 이 부분은 기본 알고리즘은 동일하고 앞서 만들었던 다수의 사용자 정의 컨트롤에 기능을 넣어주는 것이기 때문에 코드의 길이만 길 뿐 어렵지도 않고 설명할 부분도 없다. 먼저 ▲에 기능을 넣어주자. 행의 개수를 줄이는 버튼이다 DialogResult dr = MessageBox.Show("행을 삭제할 경우 기존 입력 내용이 초기화 됩니다\n마지막 행을 삭제할까요?", "경고!", MessageBoxButtons.YesNo); if (dr == DialogResult.Yes) { if (line > 2) { if (ans == "1") { flowLayoutPanel1.Controls.Remove(btn21[line - 1]); line -= 1; DataTa..

이번에는 ProMode(프로모드)를 만들 것이다. 프로모드의 경우 다음과 같은 기능들이 추가된다. 1) 서술형 응답관리 2) 객관식 응답을 엑셀로 저장 3) 객관식 응답의 자동 생성 및 행/열의 동적 수정 먼저 ProModeSetting.cs를 만들어 준다 해당 폼에서는 ProMode에 진입하기 전 질문과 선택지의 개수를 전달하는 기능을 구현한다 이 전달기능은 지금 배워두면 다른 곳에도 써먹을 수 있으니 잘 알아두자 필자의 경우 ProModeSetting을 위와 같이 디자인 했다. 질문의 개수대로 우리가 만든 사용자 정의 컨트롤을 생성하는 것이고 선택지의 개수에 따라 어떤 사용자 정의 컨트롤을 쓸 지 정해지는 것이다. 시작 버튼을 더블클릭하여 아래와 같은 코드를 넣어주자 ProMode newform = ..

이제 버튼을 누르면 해당 버튼의 숫자가 증가/감소하고 숫자의 합계가 나오는 기능을 구현해보자 먼저 UserControl1.cs에 다음과 같은 내용을 넣어주자 private void btn_MouseUp(object sender, MouseEventArgs e) { MouseEventArgs me = (MouseEventArgs)e; //마우스 이벤트 Button btn = sender as Button; if (me.Button == MouseButtons.Left) //클릭한 버튼이 마우스 왼쪽 버튼이면 실행할 코드들 { int val = Convert.ToInt32(btn.Text) + 1; //각 버튼들의 숫자값을 1씩 증가시킨다 btn.Text = val.ToString(); int hap = C..

오늘은 설문조사 결과산출 프로그램의 아주 기본적인 기능을 만들거다. 필자가 만들었던 프로토타입의 형태이며 사실 이것만 완성해도 꽤 쓸만하다 프로그램의 전체적인 그림을 설명하면 이런식으로 응답한 하나의 설문지에 대해 이런식으로 문항별 응답 횟수를 기록하는 프로그램이다. 실제로 만들었던 프로토타입이고 사진과 최대한 비슷하게 다시 만들어볼 것이다. 먼저 사용할 드라이브에 폴더를 하나 만들어준다 필자의 경우 D드라이브에 'NewSurveyTool'이라는 폴더를 만들었다. 이제 visualstudio를 실행하고 파일=>새로만들기=>프로젝트 를 눌러주자 이름은 내가 하고싶은대로 아무거나 상관없다 위치는 아까 만들었던 폴더의 위치로 지정 해 주면 된다 이제 화면을 구성해야 한다. 대부분의 설문조사지는 [매우 그렇지 ..