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


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

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

Значение в противном случае .

Атрибуты

Примеры

В следующем примере кода демонстрируется Capture свойство. Чтобы запустить этот пример, вставьте следующий код в форму, содержащую именованную Label метку1 и два 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

Комментарии

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

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

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

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

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