Control.Capture プロパティ

定義

コントロールがマウスをキャプチャしたかどうかを示す値を取得または設定します。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. この例を実行するには、listbox2 という名前の Label と、listbox1 およびという名前の2つの ListBox コントロールを含むフォームに次のコードを貼り付けます。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

適用対象

こちらもご覧ください