2009-08-14 42 views

Trả lời

19

Giả sử bạn vẫn đang trong trình xử lý sự kiện chuột, bạn có thể kiểm tra giá trị Keyboard.Modifiers. Tôi không nghĩ rằng có anyway để có được thông tin bổ trợ từ sự kiện chính nó, vì vậy bạn phải thẩm vấn bàn phím trực tiếp.

+3

Làm thế nào gây phiền nhiễu ... nếu tôi hiểu đúng điều này có nghĩa rằng nếu người dùng cho phép di chuyển bàn phím giữa thời gian sự kiện chuột được kích hoạt và khi trình xử lý sự kiện hỏi bàn phím, nó sẽ phát hiện trạng thái khóa sai. –

+1

@ M.Dudley Nó không quan trọng cho dù bạn nắm bắt trạng thái bàn phím hoặc WPF không ... chuột và bàn phím được phân cách, do đó, điều kiện chủng tộc là không thể tránh khỏi. –

16

Theo câu trả lời của Andy, bạn sử dụng Keyboard.Modifiers. Tôi figured tôi sẽ gửi một ví dụ nhỏ

Something như thế này trong xử lý sự kiện của bạn nên làm việc:

private void MyExampleButton_Click(object sender, RoutedEventArgs e) 
{ 
    if ((Keyboard.Modifiers & ModifierKeys.Control) > 0) { 
     System.Diagnostics.Debug.WriteLine("Control is pressed"); 
    } else { 
     System.Diagnostics.Debug.WriteLine("Control is NOT pressed"); 
    } 
} 

Kính trọng, Mike

Các vấn đề liên quan