วันอาทิตย์ที่ 4 มกราคม พ.ศ. 2558

VB.net สร้าง Form วิ่งตาม Mouse

บทความนี้ใช้ Visual Studio 2013 และ .Net 4.0

โดยเราจะใช้ Properties MousePosition ของคลาส System.Windows.Forms.Control ในการเก็บค่าตำแหน่งของเมาส์

สร้างโปรเจ็กขึ้นมาเป็น VisualBasic Windows Forms .Net4.0 ตั้งชื่อโปรแกรมว่าอะไรก็ได้

สร้าง Control ขั้นมาสอง Control คือ PictureBox และ Timer


กำหนด Properties ต่างๆ ดังนี้

Form1:
BackColor = Green
FormBorderStyle = None
Size = 80,80
TransparencyKey = Green

PictureBox1:
BackColor = Green
Dock = Fill
Image = เลือกรูปที่ท่านต้องการ
ในตัวอย่างผมใช้รูปกาตูนละกัน
SizeMode = Zoom

Timer1:
inteval = 10

กด F7 เพื่อเปิดหน้า View Code
ประกาศตัวแปล LocalMousePosition เป็นชนิท Point  ดังนี้
Dim LocalMousePosition As Point
สร้าง Event Timer1.Tick และชุดคำสั่งดังนี้
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) _
        Handles Timer1.Tick
        LocalMousePosition = Control.MousePosition
        Me.Location = New Point(LocalMousePosition.X - (Me.Width / 2), _
                                LocalMousePosition.Y - (Me.Height / 2))
    End Sub
 สร้าง Event PictureBox1.MouseClick ขั้นมาโดยมีคำสั่งดังนี้
    Private Sub PictureBox1_MouseClick(sender As Object, e As MouseEventArgs) _
        Handles PictureBox1.MouseClick
        If e.Button = Windows.Forms.MouseButtons.Right Then
            Me.Close()
        Else
            If Timer1.Enabled Then
                Timer1.Enabled = False
            Else
                Timer1.Enabled = True
            End If
        End If
    End Sub
โค้ดทั้งหมดจะเป็นดังนี้


ดาว์นโหลดโปรเจ็ก Source Code

เซฟและคลิกปุ่ม Start Debuging เพื่อรันโปรแกรมทดสอบ
คลิกที่รูปภาพเพื่อให้ Timer1 เริ่มทำงาน ทดสอบลากเมาส์
คลิกที่รูปอีกครั้งเพื่อให้ Timer1 หยุดทำงาน
คลิกขวาที่รูปเพื่อปิดโปรแกรม