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
Комментарии
Когда элемент управления захватывает мышь, он получает входные данные, независимо от того, находится ли курсор в пределах его границ. Мышь обычно захватывается только во время операций перетаскивания.
Захватывать мышь может только окно переднего плана. Когда фоновое окно пытается сделать это, окно получает сообщения только о событиях мыши, которые происходят, когда курсор мыши находится в видимой части окна. Кроме того, даже если окно переднего плана захватило мышь, пользователь по-прежнему может щелкнуть другое окно и вывести его на передний план.
При захвате мыши сочетания клавиш не должны работать.