Bahasa

ContentElement.CaptureMouse Metode

Definisi

Upaya untuk memaksa pengambilan mouse ke elemen ini.

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

Mengembalikan

true jika mouse berhasil ditangkap; jika tidak, false.

Penerapan

Contoh

Contoh berikut menangkap tangkapan mouse atau rilis, berdasarkan apakah mouse sudah diambil oleh elemen . Perhatikan bahwa contoh ini melemparkan elemen target pengambilan prospektif ke IInputElement antarmuka, dan dengan demikian awalnya memanggil metode .IInputElement.CaptureMouse Casting ke IInputElement adalah teknik yang berguna jika Anda tidak yakin apakah elemen yang ingin Anda ambil menangkap mouse adalah UIElement atau ContentElement. Pemeran antarmuka dan panggilan metode antarmuka kemudian memanggil implementasi CaptureMouse khusus jenis yang sesuai secara internal tanpa memerlukan uji coba transmisi baik UIElement atau ContentElement. Teknik transmisi yang sama ini berfungsi untuk anggota lain yang IInputElement mendefinisikan, misalnya banyak peristiwa terkait input, dan metode terkait input lainnya.

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

Keterangan

Untuk diambil, elemen harus diaktifkan. Periksa apakah IsEnabled sebelum true Anda memanggil CaptureMouse.

Jika panggilan CaptureMouse mengembalikan true, maka IsMouseCaptured juga true.

Jika panggilan CaptureMouse mengembalikan , maka true peristiwa dan GotMouseCapture dimunculkan, dengan IsMouseCapturedChanged dalam data peristiwa yang dilaporkan sebagai elemen tempat RoutedEventArgs.Source metode CaptureMousedipanggil. Jika Anda memaksa penangkapan, Anda mungkin mengganggu tangkapan yang ada - terutama dengan tangkapan yang terkait dengan seret dan letakkan dengan mouse.

Untuk menghapus tangkapan mouse dari semua elemen, panggil Mouse.Capture dengan element parameter yang disediakan sebagai null.

Berlaku untuk

Lihat juga