[C# Windows Form]From 이벤트 정리

동키·2024년 11월 13일

C#

목록 보기
4/12
        public BoardForm()
        {
            InitializeComponent();
            
            Load += BoardForm_Load; // 폼 로드 이벤트 등록
            Activated += BoardForm_Activated; // 폼 로드 이벤트 등록
            
        }
        
        private void BoardForm_Load(object sender, EventArgs e)
        {
            // DateTimePicker 초기값 설정 (처음 폼을 로드할 때만 설정)
            dtpStartDate.Value = DateTime.Today.AddMonths(-1); // 한 달 전
            dtpEndDate.Value = DateTime.Today; // 오늘
        }

위 코드 처럼 폼 생성자에 Android의 액티비티 사이클처럼 이벤트를 추가 하다가 주로 어떤 이벤트들을 사용 하는가 궁금해서 정리하였습니다.

1. Load

폼이 처음 로드되어 메모리에 올라갈 때 발생합니다. 즉, 폼이 처음으로 만들어질 때 실행됩니다

  • 주 용도 : 폼의 초기화 작업, 데이터 바인딩, 폼 로드 직후에 필요한 데이터 초기화에 사용됩니다
  • 호출 시점 : 폼이 메모리에 로드된 직후, 화면에 보여지기 전에 호출됩니다

2. Activated

폼이 활성화될 때마다 발생합니다. 즉, 다른 폼에서 다시 이 폼으로 전환되거나, 처음으로 폼이 나타날 때도 발생합니다.(Windows Form 프로젝트 이외에도 다른 창으로 갔다가 돌아왔을때도 동일)

  • 주 용도 : 폼이 화면에 보여질 때마다 재설정이 필요하거나, 다른 폼으로부터 포커스가 이동된 후에 특정 동작을 처리하고자 할 때 사용됩니다
  • 호출 시점 : 폼이 처음 활성화될 때, 또는 폼이 숨겨져 있다가 다시 활성화될 때 호출됩니다

3. Shown

폼이 사용자에게 처음으로 보여진 이후 발생합니다. Load 이벤트가 발생한 후 호출됩니다

  • 폼이 완전히 로드된 후에 필요한 작업, 폼이 화면에 보이기 직전에 하는 설정과 차이를 주고 싶을 때 사용합니다
  • 호출 시점: 폼이 화면에 처음 나타난 이후 호출됩니다

4. FormClosing

폼이 닫히기 전에 발생합니다. 이 이벤트에서 폼이 닫히는 것을 취소할 수도 있습니다

  • 주 용도 : 사용자가 폼을 닫을 때 경고 메시지를 보여주거나, 데이터를 저장하는 등의 작업에 사용됩니다
  • 호출 시점: 폼이 닫히기 직전에 호출됩니다

5. FormClosed

폼이 닫힌 후에 발생합니다

  • 주 용도: 폼이 닫힌 후 리소스 정리, 부모 폼에 대한 알림 등의 작업을 처리하는 데 사용됩니다
  • 호출 시점: 폼이 완전히 닫힌 후 호출됩니다

6. Resize

폼의 크기가 변경될 때마다 발생합니다

  • 주 용도: 폼의 크기가 변경되면 그에 따라 컨트롤들의 위치나 크기를 재조정하는 작업에 사용됩니다

7. Paint

폼이나 컨트롤이 다시 그려질 때 발생합니다

  • 주 용도 : 폼의 그래픽을 커스터마이징 하거나, 직접 그리는 작업을 할 대 사용됩니다

8. KeyDown

폼이 포커스를 갖고 있을 때 키를 눌렀을 때 발생합니다

  • 주 용도 : 특정 키 입력에 따라 동작을 제어하거나 반응하는 작업에 사용됩니다

Load, Activated, Shown 차이점

  • Load : 폼이 메모리에 로드될 때 최초 1번 발생. 초기 설정 작업에 주로 사용
  • Activated : 이 활성화될 때마다 발생. 폼이 숨겨졌다가 다시 나타날 때도 호출되며, 사용자가 폼으로 돌아올 때 작업에 적합
  • Shown : 폼이 사용자에게 처음 표시된 직후 발생. 폼이 화면에 완전히 나타난 후에 수행해야 할 작업에 적합
profile
오키동키

0개의 댓글