Private Declare Function GetCursorPos Lib "user32" (ByRef lpPoint As POINTAPI) As Long '全屏坐標(biāo)聲明
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了臺(tái)前免費(fèi)建站歡迎大家使用!
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
.Top 和 .Left
.Top 是距離屏幕頂端的距離,也就是Y坐標(biāo)
.Left 是距離屏幕左邊的距離,也就是X坐標(biāo)
例如
Private?Sub?Form_Load()
With?Me
.Top?=?0
.Left?=?0
End?With
End?Sub
把自己的位置調(diào)到最左上角
方法如下:
1、打開例1.1創(chuàng)建的工程。
2、選擇窗體Form1并雙擊該窗體,出現(xiàn)窗體的調(diào)事件的過程代碼體。
3、在窗體調(diào)用的過程代碼體中編制如下過程代碼:
Private Sub Form_Load()
Form1.Width = 4860
Form1.Height = 2520
End Sub
4、設(shè)置窗體Form1的SartUpPosition屬性為2-屏幕中心,這樣運(yùn)行窗體可以發(fā)現(xiàn),屏幕的大小與例1.6中通過屬性設(shè)置的大小是一致的。
StartPosition屬性有如下選項(xiàng),分別含義如下:
CenterParent 窗體在其父窗體中居中。
CenterScreen 窗體在當(dāng)前顯示窗口中居中,其尺寸在窗體大小中指定。
Manual 窗體的位置由Location屬性確定。
WindowsDefaultBounds 窗體定位在Windows默認(rèn)位置,其邊界也由Windows默認(rèn)決定。
WindowsDefaultLocation 窗體定位在Windows默認(rèn)位置,其尺寸在窗體大小中指定。
CenterScreen的意思并不是屏幕居中(是相對(duì)的),它是在"當(dāng)前顯示窗口"中居中。當(dāng)用Show()方法時(shí)應(yīng)選擇CenterScreen,用ShowDialog()方法時(shí)應(yīng)選擇CenterParent,這樣才能讓要顯示的窗口居中。
要么在屬性欄設(shè)置,要么在?new?事件里?寫這句代碼
load事件無用
Public?Sub?New()
InitializeComponent()
Me.StartPosition?=?System.Windows.Forms.FormStartPosition.CenterScreen
End?Sub