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