목록MiniProject (3)
JY Tech

이제 ▲, ▼, ◀, ▶ 버튼에 기능을 넣어주자. 이 부분은 기본 알고리즘은 동일하고 앞서 만들었던 다수의 사용자 정의 컨트롤에 기능을 넣어주는 것이기 때문에 코드의 길이만 길 뿐 어렵지도 않고 설명할 부분도 없다. 먼저 ▲에 기능을 넣어주자. 행의 개수를 줄이는 버튼이다 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..