Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long '全屏坐標(biāo)聲明
創(chuàng)新互聯(lián)從2013年成立,先為譙城等服務(wù)建站,譙城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為譙城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
Private Declare Function ScreenToClient Lib "user32.dll" (ByVal hwnd As Int32, ByRef lpPoint As POINTAPI) As Int32 '窗口坐標(biāo)聲明
Private Structure POINTAPI '聲明坐標(biāo)變量
Public x As Int32 '聲明坐標(biāo)變量為32位
Public y As Int32 '聲明坐標(biāo)變量為32位
End Structure
'以上是聲明部分
'以下是窗口部分
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '用時(shí)鐘控件來取坐標(biāo),窗口上放個(gè)Timer組件,Enabled為允許,周期為10到100毫秒均可
Dim P As POINTAPI '聲明坐標(biāo)變量
Dim xx, yy '聲明轉(zhuǎn)換要用到的變量
GetCursorPos(P) '獲取鼠標(biāo)在屏幕中的位置
ScreenToClient(Me.Handle.ToInt32, P) '轉(zhuǎn)換為本窗體的坐標(biāo)
xx = P.x.ToString '把X轉(zhuǎn)換成能顯示到文本框的字符串格式
yy = P.y.ToString '把Y轉(zhuǎn)換成能顯示到文本框的字符串格式
TextBox1.Text = xx + "和" + yy '文本框的內(nèi)容為X坐標(biāo)和Y坐標(biāo)
End Sub
你好 那因?yàn)槟惴旁诹薒abel1控件的移動(dòng)事件了 。
說明:
當(dāng)前你的代碼是在當(dāng)鼠標(biāo)經(jīng)過Label1的MouseMove事件才被激活,其他事件不備激活的。
建議應(yīng)用函數(shù)調(diào)用具體方法網(wǎng)上應(yīng)該有
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
TextBox1.Text = System.Windows.Forms.Cursor.Position.X.ToString "," System.Windows.Forms.Cursor.Position.Y.ToString
End Sub
上面代碼我是做過測(cè)試才發(fā)的,完全能實(shí)現(xiàn)你的要求!?。。。?!
TextBoxBase.GetPositionFromCharIndex 方法
檢索控件內(nèi)指定字符索引處的位置。
此方法使您得以確定特定字符索引在控件中的位置。此方法可用于諸如顯示快捷菜單項(xiàng)或控件中某個(gè)單詞的幫助信息等任務(wù)。例如,如果希望當(dāng)用戶在控件中的單詞上右擊時(shí)向用戶顯示選項(xiàng)菜單,則可以使用此方法確定單詞的位置以正確顯示 ContextMenu 控件。
Control.PointToScreen 方法
將指定工作區(qū)點(diǎn)的位置計(jì)算成屏幕坐標(biāo)。
Dim g As Graphics = PictureBox1.CreateGraphics
g.TranslateTransform(2, 2) ‘定義原點(diǎn)坐標(biāo)
g.ScaleTransform(1, -1) ’X軸不變,反轉(zhuǎn)Y軸
以PictureBox1中(2,2)點(diǎn)為新的原點(diǎn)(0,0)
向右為X軸正方向 向上為Y軸正方向
vb.net 2008
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a_Point, b_Point, c_point As Point
b_Point = MousePosition '鼠標(biāo)點(diǎn)擊坐標(biāo)(屏幕上的屏幕坐標(biāo))
a_Point = PointToClient(MousePosition) 'vb.net中的窗體坐標(biāo)
c_point = PointToScreen(a_Point) '將vb.net中的窗體坐標(biāo)轉(zhuǎn)換成屏幕上的屏幕坐標(biāo)
End Sub
End Class
坐標(biāo)是相對(duì)于你的對(duì)象而言的,類和對(duì)象這一章我建議你好好看看,對(duì)你有幫助?。。?!