Control.MouseButtons プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Control.MouseButtons プロパティの意味・解説 

Control.MouseButtons プロパティ

どのマウス ボタン押された状態であるかを示す値を取得します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Shared ReadOnly Property
 MouseButtons As MouseButtons
Dim value As MouseButtons

value = Control.MouseButtons
public static MouseButtons MouseButtons { get;
 }
public:
static property MouseButtons MouseButtons {
    MouseButtons get ();
}
/** @property */
public static MouseButtons get_MouseButtons
 ()
public static function get
 MouseButtons () : MouseButtons

プロパティ
MouseButtons 列挙値のビットごとの組み合わせ既定値は None です。

使用例使用例

BackColor、RectangleToScreen、PointToScreen、MouseButtons、ControlPaint.DrawReversibleFrame、および Rectangle.IntersectsWith の各メンバ使用方法を示すコード例次に示します。この例を実行するには、次のコードを、Form1 という名前のフォーム貼り付けます。このフォームには、複数コントロール配置されています。この例では、MouseDown、MouseMove、および MouseUp の各イベントがこの例で定義されているイベント ハンドラ関連付けられている必要があります

' The following three methods will draw a rectangle and allow 
' the user to use the mouse to resize the rectangle.  If the 
' rectangle intersects a control's client rectangle, the 
' control's color will change.

Dim isDrag As Boolean =
 False
Dim theRectangle As New
 rectangle(New Point(0, 0), New Size(0, 0))
Dim startPoint As Point

Private Sub Form1_MouseDown(ByVal
 sender As Object, ByVal
 e As _
    System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown

    ' Set the isDrag variable to true and get the starting point 
    ' by using the PointToScreen method to convert form coordinates
 to
    ' screen coordinates.
    If (e.Button = MouseButtons.Left) Then
        isDrag = True
    End If

    Dim control As Control = CType(sender,
 Control)

    ' Calculate the startPoint by using the PointToScreen 
    ' method.
    startPoint = control.PointToScreen(New Point(e.X, e.Y))
End Sub

Private Sub Form1_MouseMove(ByVal
 sender As Object, ByVal
 e As _
System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove

    ' If the mouse is being dragged, undraw and redraw the rectangle
    ' as the mouse moves.
    If (isDrag) Then

        ' Hide the previous rectangle by calling the DrawReversibleFrame
 
        ' method with the same parameters.
        ControlPaint.DrawReversibleFrame(theRectangle, Me.BackColor,
 _
            FrameStyle.Dashed)

        ' Calculate the endpoint and dimensions for the new rectangle,
 
        ' again using the PointToScreen method.
        Dim endPoint As Point = Me.PointToScreen(New
 Point(e.X, e.Y))
        Dim width As Integer
 = endPoint.X - startPoint.X
        Dim height As Integer
 = endPoint.Y - startPoint.Y
        theRectangle = New Rectangle(startPoint.X, startPoint.Y,
 _
            width, height)

        ' Draw the new rectangle by calling DrawReversibleFrame again.
  
        ControlPaint.DrawReversibleFrame(theRectangle, Me.BackColor,
 _
             FrameStyle.Dashed)
    End If
End Sub

Private Sub Form1_MouseUp(ByVal
 sender As Object, ByVal
 e As _
System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp

    ' If the MouseUp event occurs, the user is not dragging.
    isDrag = False

    ' Draw the rectangle to be evaluated. Set a dashed frame style 
    ' using the FrameStyle enumeration.
    ControlPaint.DrawReversibleFrame(theRectangle, Me.BackColor,
 _
        FrameStyle.Dashed)

    ' Find out which controls intersect the rectangle and change their
 color.
    ' The method uses the RectangleToScreen method to convert the 
    ' Control's client coordinates to screen coordinates.
    Dim i As Integer
    Dim controlRectangle As Rectangle
    For i = 0 To Controls.Count - 1
        controlRectangle = Controls(i).RectangleToScreen _
            (Controls(i).ClientRectangle)
        If controlRectangle.IntersectsWith(theRectangle) Then
            Controls(i).BackColor = Color.BurlyWood
        End If
    Next

    ' Reset the rectangle.
    theRectangle = New Rectangle(0, 0, 0, 0)
End Sub
// The following three methods will draw a rectangle and allow 
// the user to use the mouse to resize the rectangle.  If the 
// rectangle intersects a control's client rectangle, the 
// control's color will change.

bool isDrag = false;
Rectangle theRectangle = new Rectangle
    (new Point(0, 0), new Size(0, 0));
Point startPoint;

private void Form1_MouseDown(object sender,
 
    System.Windows.Forms.MouseEventArgs e)
{

    // Set the isDrag variable to true and get the starting point 
    // by using the PointToScreen method to convert form 
    // coordinates to screen coordinates.
    if (e.Button==MouseButtons.Left)
    {
        isDrag = true;
    }

    Control control = (Control) sender;

    // Calculate the startPoint by using the PointToScreen 
    // method.
    startPoint = control.PointToScreen(new Point(e.X, e.Y));
}

private void Form1_MouseMove(object sender,
 
    System.Windows.Forms.MouseEventArgs e)
{

    // If the mouse is being dragged, 
    // undraw and redraw the rectangle as the mouse moves.
    if (isDrag)

        // Hide the previous rectangle by calling the 
        // DrawReversibleFrame method with the same parameters.
    {
        ControlPaint.DrawReversibleFrame(theRectangle, 
            this.BackColor, FrameStyle.Dashed);

        // Calculate the endpoint and dimensions for the new 
        // rectangle, again using the PointToScreen method.
        Point endPoint = this.PointToScreen(new
 Point(e.X, e.Y));
        int width = endPoint.X-startPoint.X;
        int height = endPoint.Y-startPoint.Y;
        theRectangle = new Rectangle(startPoint.X, 
            startPoint.Y, width, height);

        // Draw the new rectangle by calling DrawReversibleFrame
        // again.  
        ControlPaint.DrawReversibleFrame(theRectangle, 
            this.BackColor, FrameStyle.Dashed);
    }
}

private void Form1_MouseUp(object sender, 
    System.Windows.Forms.MouseEventArgs e)
{

    // If the MouseUp event occurs, the user is not dragging.
    isDrag = false;

    // Draw the rectangle to be evaluated. Set a dashed frame style
 
    // using the FrameStyle enumeration.
    ControlPaint.DrawReversibleFrame(theRectangle, 
        this.BackColor, FrameStyle.Dashed);

    // Find out which controls intersect the rectangle and 
    // change their color. The method uses the RectangleToScreen  
    // method to convert the Control's client coordinates 
    // to screen coordinates.
    Rectangle controlRectangle;
    for(int i = 0; i < Controls.Count; i++)
    {
        controlRectangle = Controls[i].RectangleToScreen
            (Controls[i].ClientRectangle);
        if (controlRectangle.IntersectsWith(theRectangle))
        {
            Controls[i].BackColor = Color.BurlyWood;
        }
    }

    // Reset the rectangle.
    theRectangle = new Rectangle(0, 0, 0, 0);
}
private:
   // The following three methods will draw a rectangle and allow 
   // the user to use the mouse to resize the rectangle.  If the 
   // rectangle intersects a control's client rectangle, the 
   // control's color will change.
   bool isDrag;
   Rectangle theRectangle;
   Point startPoint;
   void Form1_MouseDown( Object^ sender, System::Windows::Forms::MouseEventArgs^
 e )
   {
      
      // Set the isDrag variable to true and get the starting point
 
      // by using the PointToScreen method to convert form 
      // coordinates to screen coordinates.
      if ( e->Button == ::MouseButtons::Left )
      {
         isDrag = true;
      }

      Control^ control = dynamic_cast<Control^>(sender);
      
      // Calculate the startPoint by using the PointToScreen 
      // method.
      startPoint = control->PointToScreen( Point(e->X,e->Y) );
   }

   void Form1_MouseMove( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^
 e )
   {
      
      // If the mouse is being dragged, 
      // undraw and redraw the rectangle as the mouse moves.
      if ( isDrag )
      {
         ControlPaint::DrawReversibleFrame( theRectangle, this->BackColor,
 FrameStyle::Dashed );
         
         // Calculate the endpoint and dimensions for the new 
         // rectangle, again using the PointToScreen method.
         Point endPoint = this->PointToScreen( Point(e->X,e->Y)
 );
         int width = endPoint.X - startPoint.X;
         int height = endPoint.Y - startPoint.Y;
         theRectangle = Rectangle(startPoint.X,startPoint.Y,width,height);
         
         // Draw the new rectangle by calling DrawReversibleFrame
         // again.  
         ControlPaint::DrawReversibleFrame( theRectangle, this->BackColor,
 FrameStyle::Dashed );
      }
   }

   void Form1_MouseUp( Object^ /*sender*/, System::Windows::Forms::MouseEventArgs^
 /*e*/ )
   {
      
      // If the MouseUp event occurs, the user is not dragging.
      isDrag = false;
      
      // Draw the rectangle to be evaluated. Set a dashed frame style
 
      // using the FrameStyle enumeration.
      ControlPaint::DrawReversibleFrame( theRectangle, this->BackColor,
 FrameStyle::Dashed );
      
      // Find out which controls intersect the rectangle and 
      // change their color. The method uses the RectangleToScreen 
 
      // method to convert the Control's client coordinates 
      // to screen coordinates.
      Rectangle controlRectangle;
      for ( int i = 0; i < Controls->Count;
 i++ )
      {
         controlRectangle = Controls[ i ]->RectangleToScreen( Controls[ i ]->ClientRectangle
 );
         if ( controlRectangle.IntersectsWith( theRectangle )
 )
         {
            Controls[ i ]->BackColor = Color::BurlyWood;
         }

      }
      
      // Reset the rectangle.
      theRectangle = Rectangle(0,0,0,0);
   }
// The following three methods will draw a rectangle and allow 
// the user to use the mouse to resize the rectangle. If the 
// rectangle intersects a control's client rectangle, the 
// control's color will change.
private boolean isDrag = false;
private Rectangle theRectangle =
    new Rectangle(new Point(0, 0), new
 Size(0, 0));
private Point startPoint;

private void Form1_MouseDown(Object sender
,
    System.Windows.Forms.MouseEventArgs e)
{
    // Set the isDrag variable to true and get the starting point 
    // by using the PointToScreen method to convert form 
    // coordinates to screen coordinates.
    if (e.get_Button().Equals(MouseButtons.Left)) {
        isDrag = true;
    }

    Control control = (Control)sender;
    // Calculate the startPoint by using the PointToScreen 
    // method.
    startPoint = control.PointToScreen(new Point(e.get_X(), e.get_Y()));
} //Form1_MouseDown

private void Form1_MouseMove(Object sender
,
    System.Windows.Forms.MouseEventArgs e)
{
    // If the mouse is being dragged, 
    // undraw and redraw the rectangle as the mouse moves.
    if (isDrag) {
        // Hide the previous rectangle by calling the 
        // DrawReversibleFrame method with the same parameters.
        ControlPaint.DrawReversibleFrame(theRectangle, this.get_BackColor()
,
            FrameStyle.Dashed);
        // Calculate the endpoint and dimensions for the new 
        // rectangle, again using the PointToScreen method.
        Point endPoint = this.PointToScreen(new
 Point(e.get_X(), e.get_Y()));
        int width = endPoint.get_X() - startPoint.get_X();
        int height = endPoint.get_Y() - startPoint.get_Y();
        theRectangle = new Rectangle(startPoint.get_X(), startPoint.get_Y()
,
            width, height);
        // Draw the new rectangle by calling DrawReversibleFrame
        // again.  
        ControlPaint.DrawReversibleFrame(theRectangle, this.get_BackColor()
,
            FrameStyle.Dashed);
    }
} //Form1_MouseMove

private void Form1_MouseUp(Object sender,
    System.Windows.Forms.MouseEventArgs e)
{
    // If the MouseUp event occurs, the user is not dragging.
    isDrag = false;
    // Draw the rectangle to be evaluated. Set a dashed frame style
 
    // using the FrameStyle enumeration.
    ControlPaint.DrawReversibleFrame(theRectangle, this.get_BackColor()
,
        FrameStyle.Dashed);
    // Find out which controls intersect the rectangle and 
    // change their color. The method uses the RectangleToScreen  
    // method to convert the Control's client coordinates 
    // to screen coordinates.
    Rectangle controlRectangle;
    for (int i = 0; i < get_Controls().get_Count();
 i++) {
        controlRectangle =
            get_Controls().get_Item(i).RectangleToScreen(get_Controls().
            get_Item(i).get_ClientRectangle());
        if (controlRectangle.IntersectsWith(theRectangle)) {
            get_Controls().get_Item(i).set_BackColor(Color.get_BurlyWood());
        }
    }
    // Reset the rectangle.
    theRectangle = new Rectangle(0, 0, 0, 0);
} //Form1_MouseUp
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からControl.MouseButtons プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からControl.MouseButtons プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からControl.MouseButtons プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

Control.MouseButtons プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Control.MouseButtons プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS