Поделиться через


Control.Capture Свойство

Определение

Возвращает или задает значение, указывающее, была ли мышь захвачена элементом управления.

public:
 property bool Capture { bool get(); void set(bool value); };
[System.ComponentModel.Browsable(false)]
public bool Capture { get; set; }
[<System.ComponentModel.Browsable(false)>]
member this.Capture : bool with get, set
Public Property Capture As Boolean

Значение свойства

Значение true, если мышь захвачена элементом управления; в противном случае — значение false.

Атрибуты

Примеры

В следующем примере кода демонстрируется Capture свойство . Чтобы выполнить этот пример, вставьте следующий код в форму, Label содержащую с именем label1 и два ListBox элемента управления listbox1 и listbox2. Убедитесь, что событие формы и элементов управления MouseDown связано с методом в этом примере.

// This method handles the mouse down event for all the controls on the form.  
// When a control has captured the mouse
// the control's name will be output on label1.
void Control_MouseDown( System::Object^ sender,
   System::Windows::Forms::MouseEventArgs^ /*e*/ )
{
   Control^ control = (Control^)(sender);
   if ( control->Capture )
   {
      label1->Text = control->Name + " has captured the mouse";
   }
}
// This method handles the mouse down event for all the controls on the form.  
// When a control has captured the mouse
// the control's name will be output on label1.
private void Control_MouseDown(System.Object sender, 
    System.Windows.Forms.MouseEventArgs e)
{
    Control control = (Control) sender;
    if (control.Capture)
    {
        label1.Text = control.Name+" has captured the mouse";
    }
}
'This method handles the mouse down event for all the controls on the form.  When a control has
'captured the mouse, the control's name will be output on label1.
Private Sub Control_MouseDown(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown, _
    label1.MouseDown, listbox1.MouseDown, listbox2.MouseDown
    Dim control As Control = CType(sender, Control)
    If (control.Capture) Then
        label1.Text = control.Name & " has captured the mouse"
    End If
End Sub

Комментарии

Когда элемент управления захватывает мышь, он получает входные данные, независимо от того, находится ли курсор в пределах его границ. Мышь обычно захватывается только во время операций перетаскивания.

Захватывать мышь может только окно переднего плана. Когда фоновое окно пытается сделать это, окно получает сообщения только о событиях мыши, которые происходят, когда курсор мыши находится в видимой части окна. Кроме того, даже если окно переднего плана захватило мышь, пользователь по-прежнему может щелкнуть другое окно и вывести его на передний план.

При захвате мыши сочетания клавиш не должны работать.

Применяется к

См. также раздел