1.マウスに関する操作色々(37_Mos_01) (旧、SampleNo.097) |
下記プログラムコードに関する補足・注意事項 動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 : : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.マウスカーソルの座標位置を取得する |
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 'マウスカーソルの座標位置を取得する MessageBox.Show("X 座標 : " & System.Windows.Forms.Cursor.Position.X.ToString & " " & _ "Y 座標 : " & System.Windows.Forms.Cursor.Position.Y.ToString) End Sub |
2.マウスカーソルを指定位置へ移動する |
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'マウスカーソルを指定位置へ移動する 'マウスカーソルをX=200 ピクセル Y=100 ピクセル の位置へ移動します。 System.Windows.Forms.Cursor.Position = New Point(500, 300) MessageBox.Show("X 座標 : " & System.Windows.Forms.Cursor.Position.X.ToString & " " & _ "Y 座標 : " & System.Windows.Forms.Cursor.Position.Y.ToString) End Sub |
3.マウスカーソルを非表示に設定する(クリックはできる) |
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 'マウスカーソルを非表示に設定する(クリックはできる) System.Windows.Forms.Cursor.Hide() End Sub |
4.マウスカーソルを表示する |
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 'マウスカーソルを表示する System.Windows.Forms.Cursor.Show() End Sub |
5.マウスのポインターを変更(砂時計等)する |
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click 'マウスのポインターを変更(砂時計等)する System.Windows.Forms.Cursor.Current = Cursors.WaitCursor '下記のように設定するとプロシージャを抜けても解除されません ' Me.Cursor = Cursors.WaitCursor Dim i As Integer For i = 1 To 10000 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(sender As Object, e As EventArgs) Handles Button6.Click '指定範囲外にマウスカーソルが移動しないように制限する clickFlag = Not clickFlag If clickFlag Then System.Windows.Forms.Cursor.Clip = New Rectangle(Me.Location, Me.Size) Else System.Windows.Forms.Cursor.Clip = New Rectangle End If End Sub |
7.指定範囲内にマウスカーソルがあるか?ないか? |
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click '指定範囲内にマウスカーソルがあるか?ないか? Dim frmRect As Rectangle = New Rectangle(Me.Location, Me.Size) If frmRect.Contains(Cursor.Position.X, Cursor.Position.Y) Then MessageBox.Show("Form1 の範囲内にあります。") Else MessageBox.Show("Form1 の範囲外です。") End If End Sub |
8.マウスのどのボタンが押されたかを取得する |
Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown 'マウスのどのボタンが押されたかを取得する If e.Button = System.Windows.Forms.MouseButtons.Left Then MessageBox.Show("マウスの左ボタンが押されました") End If If e.Button = System.Windows.Forms.MouseButtons.Right Then MessageBox.Show("マウスの右ボタンが押されました") End If '後のボタンについては定数を調べてください。 End Sub |
9. |
10. |
11. |
12. |
検索キーワード及びサンプルコードの別名(機能名) |