프로그램에서 사용자 동작에 응답: 이벤트 처리기 만들기

업데이트: 2007년 11월

이 단원에서는 이벤트 처리기를 만드는 방법을 배웁니다.

이전 단원에서 설명한 것처럼 컨트롤은 속성, 메서드 및 이벤트를 가지며 사용자 인터페이스를 만드는 데 사용됩니다. 이벤트는 컨트롤에서 발생할 수 있는 작업입니다. 예를 들면 컨트롤을 클릭하거나 컨트롤에 텍스트를 입력하거나 마우스 포인터를 컨트롤로 이동하는 것 등이 이벤트입니다.

의미 있는 작업이 수행되면 컨트롤은 이벤트를 발생시킵니다. 즉, 프로그램에 신호를 보내 어떤 일이 발생했음을 알립니다. 그러면 프로그램은 해당 이벤트를 처리할 메서드가 있는지 확인합니다. 이러한 메서드를 이벤트 처리기라고 합니다. 이벤트 처리기의 예로는 사용자와 상호 작용: 단추 사용에서 만든 메서드 같이 단추를 클릭하면 실행되는 메서드를 들 수 있습니다.

컨트롤은 다양한 이벤트를 발생시킬 수 있지만 기본 이벤트는 항상 각 컨트롤마다 하나씩 있습니다. 다양한 컨트롤 이벤트에 대해 이벤트 처리기를 만들 수 있습니다. 이 단원에서는 단추의 기본 이벤트 처리기인 Click 이벤트를 처리할 이벤트 처리기를 만듭니다. 이 이벤트는 단추를 클릭하면 발생하는 이벤트입니다. 그런 다음 단추의 MouseEnterMouseLeave 이벤트를 처리할 이벤트를 처리기를 만듭니다. 이러한 이벤트는 마우스를 컨트롤로 이동할 때 발생하는 이벤트입니다.

실습

Click 이벤트를 처리하려면

  1. 파일 메뉴에서 새 프로젝트를 클릭합니다.

  2. 새 프로젝트 대화 상자의 템플릿 창에서 Windows 응용 프로그램을 클릭합니다.

  3. 이름 상자에 EventHandler를 입력하고 확인을 클릭합니다.

    새 Windows Forms 프로젝트가 열립니다.

  4. 도구 상자에서 Button 컨트롤을 폼으로 끌어 옵니다.

  5. 속성 창에서 AutoSize 속성을 True로 설정합니다.

  6. 보기 메뉴에서 코드를 클릭하여 코드 편집기를 엽니다.

    코드 편집기 바로 위에 두 개의 드롭다운 상자가 있습니다. 왼쪽에 있는 상자에는 Form1, (일반) 및 (Form1 이벤트)를 포함하여 폼의 모든 컨트롤 목록이 포함되어 있습니다. 오른쪽에 있는 상자에는 왼쪽 상자에 나열된 항목에 사용할 수 있는 각 이벤트가 나타납니다.

  7. 왼쪽에 있는 상자에서 Button1을 클릭합니다.

  8. 오른쪽에 있는 상자에서 Click을 클릭합니다.

    코드 편집기에 Button1_Click라는 새 이벤트 처리기가 나타납니다.

    참고:

    폼의 컨트롤을 두 번 클릭하여 컨트롤의 기본 이벤트 처리기를 입력할 수 있습니다.

  9. Button1_Click 이벤트 처리기에서 다음 코드를 입력합니다.

    MsgBox("You clicked the button")
    
  10. F5 키를 눌러 응용 프로그램을 실행합니다. Button1을 클릭하면 메시지 상자가 나타납니다.

다른 이벤트 처리기 추가

동일한 컨트롤의 추가 이벤트 처리기에서 코드를 작성할 수 있습니다. 예를 들어 마우스 포인터를 단추 위로 이동할 때 단추에 나타나는 텍스트를 변경할 수 있습니다.

MouseEnter 이벤트를 처리하려면

  1. 코드 편집기에서 왼쪽 드롭다운 상자의 Button1이 선택되어 있는지 확인한 다음 오른쪽 드롭다운 상자에서 MouseEnter를 클릭합니다.

    코드 편집기에 Button1_MouseEnter라는 새 이벤트 처리기가 나타납니다.

  2. Button1_MouseEnter 이벤트 처리기에서 다음 코드를 입력합니다.

    Button1.Text = "The Mouse has entered"
    

    F5 키를 눌러 응용 프로그램을 실행합니다. 마우스 포인터를 단추 위로 이동합니다. 마우스 포인터를 Button1 위로 이동하면 단추의 텍스트가 변경됩니다.

앞의 예제에서 마우스 포인터를 Button1 위로 이동하면 해당 텍스트가 변경되지만 마우스 포인터를 다른 곳으로 이동해도 텍스트는 원래대로 변경되지 않는다는 것을 알 수 있었습니다. 마우스를 단추 밖으로 이동할 때 텍스트가 변경되도록 하려면 MouseEnter 이벤트와 함께 MouseLeave 이벤트를 처리해야 합니다.

MouseLeave 이벤트를 처리하려면

  1. 코드 편집기에서 왼쪽 드롭다운 상자의 Button1이 선택되어 있는지 확인한 다음 오른쪽 드롭다운 상자에서 MouseLeave를 클릭합니다.

    코드 편집기에 Button1_MouseLeave라는 새 이벤트 처리기가 나타납니다.

  2. Button1_MouseLeave 이벤트 처리기에서 다음 코드를 입력합니다.

    Button1.Text = "The mouse has left"
    
  3. F5 키를 눌러 응용 프로그램을 실행합니다.

    이제 마우스 포인터를 단추 위로 이동하면 텍스트가 The mouse has entered로 변경되며 마우스를 단추 밖의 다른 곳으로 이동하면 텍스트가 The mouse has left로 변경됩니다.

다음 단계

이 단원에서는 코드 편집기를 사용하여 이벤트 처리기를 만드는 방법을 배웠습니다. 이제 순서대로 다음 단원 사용자 선택 항목 가져오기: 확인란 및 라디오 단추 사용으로 이동하거나 자세히 보기: 이벤트 처리기 공유에서 이벤트 처리기를 자세히 살펴볼 수 있습니다. 두 번째 옵션을 선택하는 경우 해당 단원에서 사용할 수 있도록 EventHandler 프로젝트를 저장해야 합니다.

참고 항목

참조

Label 컨트롤 개요(Windows Forms)

TextBox 컨트롤 개요(Windows Forms)

기타 리소스

프로그램의 모양 만들기: Windows Forms 소개

Visual Basic 6.0 사용자를 위한 컨트롤 속성, 메서드 및 이벤트 변경 내용