Aracılığıyla paylaş


ContentElement.CaptureMouse Yöntem

Tanım

Fareyi bu öğeye yakalamaya zorlamaya çalışır.

public:
 virtual bool CaptureMouse();
public bool CaptureMouse ();
abstract member CaptureMouse : unit -> bool
override this.CaptureMouse : unit -> bool
Public Function CaptureMouse () As Boolean

Döndürülenler

true fare başarıyla yakalanırsa; aksi takdirde , false.

Uygulamalar

Örnekler

Aşağıdaki örnek, farenin öğe tarafından yakalanıp yakalanmadığına bağlı olarak fareyi yakalar veya yakalamayı serbest bırakır. Bu örnekte olası yakalama hedef öğesini arabirime IInputElement dönüştürdüğünü ve bu nedenle başlangıçta yöntemini çağırdığını IInputElement.CaptureMouse unutmayın. Atama, IInputElement fareyi yakalamak istediğiniz öğenin bir UIElement mi yoksa bir mi olduğundan emin değilseniz yararlı olan bir ContentElementtekniktir. Arabirim ataması ve arabirim yöntemi çağrısı daha sonra veya ContentElementiçin deneme ataması gerektirmeden uygun türe UIElement özgü CaptureMouse uygulamasını dahili olarak çağırır. Bu aynı atama tekniği, girişle ilgili olayların birçoğunu ve girişle ilgili diğer yöntemleri tanımlayan diğer üyeler IInputElement için de çalışır.

private void CaptureMouseCommandExecuted(object sender, ExecutedRoutedEventArgs e)
{
  MessageBox.Show("Mouse Command");
  IInputElement target = Mouse.DirectlyOver;

  target = target as Control;
  if (target != null)
  {
    if (!target.IsMouseCaptured)
    {
      Mouse.Capture(target);
    } else {
      Mouse.Capture(null);
    }
  }
}
Private Sub CaptureMouseCommandExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs)
  MessageBox.Show("Mouse Command")
  Dim target As IInputElement = Mouse.DirectlyOver

  target = TryCast(target, Control)
  If target IsNot Nothing Then
    If Not target.IsMouseCaptured Then
      Mouse.Capture(target)
    Else
      Mouse.Capture(Nothing)
    End If
  End If
End Sub

Açıklamalar

Yakalanmak için bir öğenin etkinleştirilmesi gerekir. çağrısı CaptureMouseyapmadan önce olup true olmadığını IsEnabled denetleyin.

çağrısı CaptureMouse döndürülüyorsatrue, aynı zamanda trueIsMouseCaptured olur.

çağrısı CaptureMouse döndürürsetrue, yöntemin GotMouseCapture çağrıldığı CaptureMouse öğe olarak bildirilen olay verilerinde ile ve IsMouseCapturedChangedRoutedEventArgs.Source olayları oluşturulur. Yakalamaya zorlarsanız, özellikle fareyle sürükle ve bırak ile ilgili yakalamalarla mevcut yakalamaları engelleyebilirsiniz.

Fare yakalamayı tüm öğelerden temizlemek için olarak nullsağlanan parametresiyle element çağrısı Mouse.Capture yapın.

Şunlara uygulanır

Ayrıca bkz.