次の方法で共有


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 示します。 この例を実行するには、名前付き label1 と listbox1 と listbox2 という名前の 2 つのListBoxコントロールを含むLabelフォームに次のコードを貼り付けます。 フォームとコントロールの 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

注釈

コントロールがマウスをキャプチャすると、カーソルが境界線内にあるかどうかにかかわらず、マウス入力を受け取ります。 通常、マウスはドラッグ操作中にのみキャプチャされます。

マウスをキャプチャできるのは、前面のウィンドウだけです。 バックグラウンド ウィンドウがこれを試みると、ウィンドウは、マウス カーソルがウィンドウの可視部分内にあるときに発生するマウス イベントに対してのみメッセージを受信します。 また、前面のウィンドウがマウスをキャプチャしている場合でも、ユーザーが別のウィンドウをクリックすると、そのウィンドウが前面に表示されます。

マウスをキャプチャすると、ショートカット キーは機能しません。

適用対象

こちらもご覧ください