我想更改光标在特定标签上的位置。我用:
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或任何标签/对象的位置。
答案 0 :(得分:2)
问题是Label.Location(以及任何其他Control.Location)引用相对于其容器左上角的位置。这意味着您必须调用父容器的PointToScreen方法。在一个只有一个没有任何其他容器的Form的简单应用程序中,它将是:
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