在visual basic中更改光标位置

时间:2013-03-04 22:32:01

标签: vb.net

我想更改光标在特定标签上的位置。我用:

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或任何标签/对象的位置。

1 个答案:

答案 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