Control.Capture Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que indica se o controle capturou o mouse.
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
Valor da propriedade
true
se o controle tiver capturado o mouse; caso contrário, false
.
- Atributos
Exemplos
O exemplo de código a seguir demonstra a Capture propriedade . Para executar este exemplo, cole o código a seguir em um formulário que contém um Label label1 nomeado e dois ListBox controles chamados listbox1 e listbox2. Verifique se o evento de MouseDown formulário e controles está associado ao método neste exemplo.
// 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
Comentários
Quando um controle captura o mouse, ele recebe a entrada do mouse, independentemente de o cursor estar ou não dentro de suas bordas. Normalmente, o mouse é capturado somente durante operações de arrastar.
Somente a janela em primeiro plano pode capturar o mouse. Quando uma janela em segundo plano tenta fazer isso, a janela recebe mensagens somente para eventos do mouse que ocorrem quando o cursor do mouse está dentro da parte visível da janela. Além disso, mesmo que a janela em primeiro plano tenha capturado o mouse, o usuário ainda poderá clicar em outra janela, colocando-a em primeiro plano.
Quando o mouse é capturado, as teclas de atalho não devem funcionar.