ContentElement.CaptureMouse Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 true
IsMouseCaptured 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 null
sağlanan parametresiyle element
çağrısı Mouse.Capture yapın.