代碼寫起來可能比較麻煩,給你個思路,就是用GraphicsPath來繪制,然后通過繪制目標的鼠標移動事件來獲取當前鼠標在繪制目標中的實際位置,再通過GraphicsPath的IsVisible()方法來確認鼠標是否包含在GraphicsPath中。
成都創(chuàng)新互聯(lián)主營細河網站建設的網絡公司,主營網站建設方案,成都App定制開發(fā),細河h5小程序制作搭建,細河網站營銷推廣歡迎細河等地區(qū)企業(yè)咨詢
DrawLine直線比較容易處理,只要得到Line的坐標點,然后比較當前鼠標坐標就好。
Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long '全屏坐標聲明
Private Declare Function ScreenToClient Lib "user32.dll" (ByVal hwnd As Int32, ByRef lpPoint As POINTAPI) As Int32 '窗口坐標聲明
Private Structure POINTAPI '聲明坐標變量
Public x As Int32 '聲明坐標變量為32位
Public y As Int32 '聲明坐標變量為32位
End Structure
'以上是聲明部分
'以下是窗口部分
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '用時鐘控件來取坐標,窗口上放個Timer組件,Enabled為允許,周期為10到100毫秒均可
Dim P As POINTAPI '聲明坐標變量
Dim xx, yy '聲明轉換要用到的變量
GetCursorPos(P) '獲取鼠標在屏幕中的位置
ScreenToClient(Me.Handle.ToInt32, P) '轉換為本窗體的坐標
xx = P.x.ToString '把X轉換成能顯示到文本框的字符串格式
yy = P.y.ToString '把Y轉換成能顯示到文本框的字符串格式
TextBox1.Text = xx + "和" + yy '文本框的內容為X坐標和Y坐標
End Sub
me.Cursor.ToString()
或者可以枚舉
me.cursor=Cursors.WaitCursor之類的
不過有以下局限:
自定義指針無法識別
窗口處于非激活狀態(tài)可能無效
與其他控件可能沖突