컴퓨터/WinForm

[WinForm]

아기상어  2020. 6. 15. 18:30

윈폼 애플리케이션

 

컨트롤을 사용하여 프로그래머가 원하는 화면을 구성하고 이벤트가 발생했을 때 처리하고자 하는 작업을

이벤트 처리기에 기술하는 방식으로 프로그래밍된 프로그램

 

폼클래스 : 윈도우 폼을 나타내는 클래스

 

컴포넌트 클래스 : 개념적인 부분을 나타내는 클래스

 

컨트롤 클래스 : 폼에 직접 표시되는 컨트롤을 위하 클래스

 

소스코드

Main() 메소드 : 응용 프로그램의 시작점, Application 클래스의 Run() 메소드를 호출하여 실행

partial() : 하나의 클래스를 두개로 분리해서 쓰기 위한 키워드

InitializeComponent() : 디자인을 불러오는 메서드

 

윈폼에서 더블클릭 하는건 그 폼이 가진 이벤트를 생성시킴, 속성에 번개모양 누르면 나옴

 

MessageBox는 모달창이다. 모달창을 끄지 않는 이상 메인프로그램이 꺼지지 않는다.

 

 

예제) 윈폼으로 타이머 만들기

        private void timer1_Tick(object sender, EventArgs e)
        {
            DateTime now = DateTime.Now;
            label1.Text = now.ToString("HH:mm:ss");
        }

 

 

아이콘 바꾸기

 

프로젝트 속성 - 아이콘 및 매니페스트(아이콘 바꾸고 저장)

 

Form 창에서 속성 - icon 에서 파일선택

 

 

Form 클래스의 메소드

Load()

Close() - FormClosed(), FormClosing()

Activate()

AddOwnedForm()

RemoveOwnedForm()

SetDesktopBounds()

SetDesktopLocation()

 

 

        private void Form1_Load(object sender, EventArgs e)
        {
            MessageBox.Show("폼 로드시 발생");
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            MessageBox.Show("폼 클로즈시 발생");
        }

        private void Form1_Activated(object sender, EventArgs e)
        {
            MessageBox.Show("폼 활성화시 발생");
        }

 

 

폼 닫을떄 진짜 닫을껀지 물어보는 창 만들기

 

        private void Form1_FormClosing_1(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("진짜 닫을래?", "d경고d",
                MessageBoxButtons.YesNo,MessageBoxIcon.Error) == DialogResult.Yes)
            {
                e.Cancel = false;   //  클로징 이벤트를 취소 안시켜서 종료
            }
            else
            {
                e.Cancel = true;    //   클로징 이벤트를 취소시켜서 종료안됨
            }
        }