2013-03-04 119 views
0

我想要將光標在特定標籤上的位置更改。我用:在visual basic中更改光標位置

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Cursor.Position = Label17.Location 

End Sub 

但它不會改變我想要的地方。我試過了:

Label16.Location = Label17.Location 

並且這樣就正確地移動了label16。

那麼我們如何將光標移動到label17或任何標籤/對象的位置。

回答

2

問題是,Label.Location(和任何其他Control.Location)是指相對於其容器的左上角的位置。這意味着您必須調用父容器的PointToScreen方法。在一個簡單的應用程序,它只是有沒有任何其他容器形式,這將是:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Cursor.Position = Me.PointToScreen(Label17.Location) 

End Sub 

一個更優雅的一個:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Cursor.Position = Label17.Parent.PointToScreen(Label17.Location) 

End Sub 
相關問題