玄関へお回り下さい。
マウスに関する基本的な操作色々 (8個)         (SNo.097)

1.マウスカーソルの座標位置を取得する
2.マウスカーソルを指定位置へ移動する
3.マウスカーソルを非表示に設定する(クリックはできる)
4.マウスカーソルを表示する
5.マウスのポインターを変更(砂時計等)する
6.指定範囲外にマウスカーソルが移動しないように制限する
7.マウスがボタン上にある時、ボタンのバックカラーを変更する
8.マウスのどのボタンが押されたかを取得する
使用コントロール Button1  
その他条件 WindowsXP(Vista) Visual Basic 2005(VB2008)
 
1.マウスカーソルの座標位置を取得する
 
Private Sub Button1_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button1.Click
'マウスカーソルの座標位置を取得する
    MessageBox.Show("X 座標 : " & Cursor.Position.X.ToString & "   " & _
                    "Y 座標 : " & Cursor.Position.Y.ToString)
End Sub
 
2.マウスカーソルを指定位置へ移動する
 
Private Sub Button2_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button2.Click
'マウスカーソルを指定位置へ移動する
    'マウスカーソルをX=200 ピクセル Y=100 ピクセル の位置へ移動します。
    Cursor.Position = New Point(200, 100)
End Sub
 
3.マウスカーソルを非表示に設定する(クリックはできる)
 
Private Sub Button3_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button3.Click
'マウスカーソルを非表示に設定する(クリックはできる)
    Cursor.Hide()
End Sub
 
4.マウスカーソルを表示する
 
Private Sub Button4_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button4.Click
'マウスカーソルを表示する
    Cursor.Show()
End Sub
 
5.マウスのポインターを変更(砂時計等)する
 
Private Sub Button5_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button5.Click
'マウスのポインターを変更(砂時計等)する
    System.Windows.Forms.Cursor.Current = Cursors.WaitCursor
    '下記のように設定するとプロシージャを抜けても解除されません
   ' Me.Cursor = Cursors.WaitCursor

    Dim i As Integer
    For i = 1 To 1000
        Debug.WriteLine(i)
    Next

    '従ってプロシージャ内で表示する場合は下記の一行は無くてもよい
    System.Windows.Forms.Cursor.Current = Cursors.Default
    'Me.Cursor = Cursors.Default
End Sub
 
6.指定範囲外にマウスカーソルが移動しないように制限する
 
Private clickFlag As Boolean

Private Sub Button6_Click(ByVal sender As System.Object, _
                          ByVal e As System.EventArgs) Handles Button6.Click
'指定範囲外にマウスカーソルが移動しないように制限する
    clickFlag = Not clickFlag
    If clickFlag Then
        Cursor.Clip = New Rectangle(Me.Location, Me.Size)
    Else
        Cursor.Clip = New Rectangle
    End If
End Sub
 
7.マウスがボタン上にある時、ボタンのバックカラーを変更する
 
Private Sub Button4_MouseEnter(ByVal sender As Object, _
                        ByVal e As System.EventArgs) Handles Button4.MouseEnter
'マウスがボタン上にある時、ボタンのバックカラーを変更する
    Button4.BackColor = Color.Red
End Sub

Private Sub Button4_MouseLeave(ByVal sender As Object, _
                        ByVal e As System.EventArgs) Handles Button4.MouseLeave

  
'------------------ VB.NET 2003 用 ------------------------------
  Button4.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Control)


  
'------------------ VB2005 用 ------------------------------
  
If Application.RenderWithVisualStyles = True Then
    
'XP visual スタイルを使用して背景を描画する(下記設定はVB2005のみ可)
    Button4.UseVisualStyleBackColor =
True
  
Else
    
'visual スタイルが有効になっていない場合
    Button4.BackColor = Color.FromKnownColor(System.Drawing.KnownColor.Control)
  
End If

End Sub
 
8.マウスのどのボタンが押されたかを取得する
 
Private Sub Form1_MouseDown(ByVal sender As ObjectByVal e As _
                   System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
'マウスのどのボタンが押されたかを取得する
    If e.Button = MouseButtons.Left Then
        MessageBox.Show("マウスの左ボタンが押されました")
    End If
    If e.Button = MouseButtons.Right Then
        MessageBox.Show("マウスの右ボタンが押されました")
    End If
    '後のボタンについては定数を調べて下さい。
End Sub
 
 






2004/07/06
2007/05/27


VBレスキュー(花ちゃん)
VB.NET2003  VB2005