ButtonBase.Click 이벤트


Button을 클릭하면 발생합니다.Occurs when a Button is clicked.

 event System::Windows::RoutedEventHandler ^ Click;
public event System.Windows.RoutedEventHandler Click;
member this.Click : System.Windows.RoutedEventHandler 
Public Custom Event Click As RoutedEventHandler 

이벤트 유형



다음 예제에서는 세 가지 방법으로 클릭에 응답 하는 세 개의 단추를 보여 줍니다.The following example shows three buttons that respond to clicks in three different ways.

  • Hover-첫 번째 단추의 색 변경 사용자가 단추 위로 마우스로 가리킬 때Hover - the first button changes colors when the user hovers with the mouse over the button

  • 키를 눌러-두 번째 단추를 사용 하려면 마우스 포인터가 단추에 있는 동안 마우스를 눌러야 합니다.Press - the second button requires that the mouse be pressed while the mouse pointer is in the button.

  • 릴리스-마우스를 누른 단추에 출시 될 때까지 세 번째가 단추의 배경색을 설정 하지 않습니다.Release - the third does not reset the background color of the buttons until the mouse is pressed and released in the button.

<Button Name="btn1" Background="Pink" 
        BorderBrush="Black" BorderThickness="1" 
        Click="OnClick1" ClickMode="Hover">

<Button Name="btn2" Background="LightBlue" 
        BorderBrush="Black" BorderThickness="1" 
        Click="OnClick2" ClickMode="Press">

<Button Name="btn3" 
        Click="OnClick3" ClickMode="Release">
void OnClick1(object sender, RoutedEventArgs e)
    btn1.Background = Brushes.LightBlue;

void OnClick2(object sender, RoutedEventArgs e)
    btn2.Background = Brushes.Pink;

void OnClick3(object sender, RoutedEventArgs e)
    btn1.Background = Brushes.Pink;
    btn2.Background = Brushes.LightBlue;
Private Sub OnClick1(ByVal sender As Object, ByVal e As RoutedEventArgs)
    btn1.Background = Brushes.LightBlue
End Sub

Private Sub OnClick2(ByVal sender As Object, ByVal e As RoutedEventArgs)
    btn2.Background = Brushes.Pink
End Sub

Private Sub OnClick3(ByVal sender As Object, ByVal e As RoutedEventArgs)
    btn1.Background = Brushes.Pink
    btn2.Background = Brushes.LightBlue
End Sub


사용자를 발생 시킬 수는 Click 를 사용 하 여 이벤트를 AccessText 하거나 컨트롤에 포커스가 있을 때 ENTER 키나 스페이스바를 눌러 합니다.The user can raise the Click event by using an AccessText or by pressing ENTER or the SPACEBAR when the control has focus. 사용자 컨트롤 집합 스페이스바를 누르면 IsPressedtrue 하 고 마우스를 캡처합니다.When the user presses the SPACEBAR, the control sets IsPressed to true and captures the mouse. 결과적으로, 컨트롤 이벤트를 발생 마우스와 같은 MouseEnterIsMouseDirectlyOverChanged입니다.As a result, the control will raise mouse events such as MouseEnter and IsMouseDirectlyOverChanged. 사용 합니다 AccessText 또는 ENTER 변경 되지 않습니다 IsPressed 또는 마우스를 캡처 하지만 높일 수는 Click 이벤트.Note that using the AccessText or ENTER does not change IsPressed or capture the mouse, but it does raise the Click event.

ButtonBase 표시는 MouseLeftButtonDown 이벤트의 처리 된 것으로 OnMouseLeftButtonDown 메서드와 발생은 Click 이벤트입니다.The ButtonBase marks the MouseLeftButtonDown event as handled in the OnMouseLeftButtonDown method and raises the Click event. 따라서 합니다 OnMouseLeftButtonDown 에서 상속 되는 컨트롤에 대 한 이벤트 발생 되지 ButtonBase합니다.Hence, the OnMouseLeftButtonDown event will never occur for a control that inherits from ButtonBase. 대신에 이벤트 처리기를 연결 합니다 PreviewMouseLeftButtonDown 이벤트 또는 호출 AddHandler(RoutedEvent, Delegate, Boolean) 사용 하 여 handledEventsTootrue합니다.Instead, attach an event handler to the PreviewMouseLeftButtonDown event, or call AddHandler(RoutedEvent, Delegate, Boolean) with handledEventsToo set to true.

라우팅 이벤트 정보Routed Event Information

식별자 필드Identifier field ClickEvent
라우팅 전략Routing strategy 버블링Bubbling
대리자Delegate RoutedEventHandler

적용 대상