2014-03-09 5 views

답변

0

나는 사건의 커플 (같은 MiddleClickRightClick) (당신이 아래에 차단하려는 경우, 또는 MouseDown), 다음, 다음 두 가지 중 하나를의 화재 MouseUp 처리를 추가 이벤트는 MouseUp 이벤트의 세부 사항에 따라 다릅니다. 예 :

public MyControl() 
{ 
    InitializeComponent(); 
    MouseUp += OnMouseUp; 
} 

void OnMouseUp(object sender, MouseButtonEventArgs e) 
{ 
    if (e.ChangedButton == MouseButton.Middle) 
    { 
     OnMiddleClick(e); 
     e.Handled = true; 
     return; 
    } 
    if (e.ChangedButton == MouseButton.Right) 
    { 
     OnRightClick(e); 
     e.Handled = true; 
     return; 
    } 
} 

public event MouseButtonEventHandler RightClick; 

protected virtual void OnRightClick(MouseButtonEventArgs e) 
{ 
    var handler = RightClick; 
    if (handler != null) handler(this, e); 
} 

public event MouseButtonEventHandler MiddleClick; 

protected virtual void OnMiddleClick(MouseButtonEventArgs e) 
{ 
    var handler = MiddleClick; 
    if (handler != null) handler(this, e); 
} 
+0

답장을 보내 주셔서 감사합니다. Silverlight 하이퍼 링크 단추를 사용하고 있고 MouseUp 이벤트가 Silverlight에 없습니다. MouseRightButtonUp에서 RightClick을 만들 수 있지만 JavaScript를 사용하여 MiddleClick을 만들어야합니다. 웹에서 읽는만큼 xaml/C#을 사용하여 가운데 클릭을들을 수있는 방법은 없습니다. 그래서 JS를 사용하여 마우스 MiddleClick을들을 수있는 방법에 대한 아이디어를 얻을 수 있습니까? – Gobind