ButtonBase.Click 이벤트

정의

클릭할 Button 때 발생합니다.

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

이벤트 유형

예제

다음 예제에서는 세 가지 방법으로 클릭에 응답하는 세 개의 단추를 보여 줍니다.

  • 마우스로 가리키기 - 첫 번째 단추가 단추 위로 마우스를 가져가면 색이 변경됩니다.

  • 누르기 - 두 번째 단추를 사용하려면 마우스 포인터가 단추에 있는 동안 마우스를 눌러야 합니다.

  • 릴리스 - 세 번째는 단추에서 마우스를 누르고 놓을 때까지 단추의 배경색을 다시 설정하지 않습니다.

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

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

<Button Name="btn3" 
        Click="OnClick3" ClickMode="Release">
  Reset
</Button>
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 있을 때 Enter 키나 스페이스바를 눌러 AccessText 이벤트를 발생할 수 있습니다. 사용자가 스페이스바를 누르면 컨트롤이 마우스로 IsPressed 설정 true 되고 캡처됩니다. 결과적으로 컨트롤은 다음과 같은 MouseEnterIsMouseDirectlyOverChanged마우스 이벤트를 발생 시킬 것입니다. 또는 ENTER를 AccessText 사용하면 마우스가 변경 IsPressed 되거나 캡처되지 않지만 이벤트가 발생합니다 Click .

메서드 ButtonBase 에서 MouseLeftButtonDownOnMouseLeftButtonDown 처리된 것으로 이벤트를 표시하고 이벤트를 발생합니다 Click . OnMouseLeftButtonDown 따라서 이 이벤트는 상속ButtonBase되는 컨트롤에 대해 발생하지 않습니다. 대신 이벤트 처리기를 PreviewMouseLeftButtonDown 이벤트에 연결하거나 ,로 설정된 상태에서 호출 AddHandler(RoutedEvent, Delegate, Boolean)handledEventsToo 합니다 true.

라우트된 이벤트 정보

항목 가치
식별자 필드 ClickEvent
라우팅 전략 버블링
대리자 RoutedEventHandler

적용 대상