Control.Capture Control.Capture Control.Capture Control.Capture Property

定义

获取或设置一个值,该值指示控件是否已捕获鼠标。Gets or sets a value indicating whether the control has captured the mouse.

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

属性值

如果控件已捕获鼠标,则为 true;否则为 falsetrue if the control has captured the mouse; otherwise, false.

示例

下面的代码示例演示了Capture属性。The following code example demonstrates the Capture property. 若要运行此示例,请粘贴下面的代码中,一个窗体,其中包含Labellabel1 和两个名为ListBox控件名为 listbox1 和 listbox2。To run this example paste the following code in a form containing a Label named label1 and two ListBox controls named listbox1 and listbox2. 确保窗体和控件的MouseDown事件是与此示例中的方法相关联。Ensure the form and controls' MouseDown event is associated with the method in this example.

// 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

注解

当控件已捕获鼠标时,它接收鼠标输入,指示光标在其边框内。When a control has captured the mouse, it receives mouse input whether or not the cursor is within its borders. 在拖动操作期间通常仅捕获鼠标。The mouse is typically only captured during drag operations.

仅在前台窗口可以捕获鼠标。Only the foreground window can capture the mouse. 当后台窗口尝试执行此操作时,窗口接收鼠标事件时鼠标光标位于窗口的可见部分发生的消息。When a background window attempts to do so, the window receives messages only for mouse events that occur when the mouse cursor is within the visible portion of the window. 此外,即使前景窗口已捕获鼠标,用户仍可以单击另一个窗口,将其带到前台。Also, even if the foreground window has captured the mouse, the user can still click another window, bringing it to the foreground.

时捕获鼠标、 键盘快捷方式应不起作用。When the mouse is captured, shortcut keys should not work.

安全性

UIPermission
若要设置此属性的值的所有窗口。for all windows to set this property value. 关联的枚举: AllWindowsAssociated enumeration: AllWindows

适用于

另请参阅