2013-03-04 2 views
0

Я хочу изменить положение курсора над определенной меткой. Я использую:Изменение положения курсора в визуальном базовом

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 

И это правильно поменяет ярлык16.

Итак, как мы перемещаем курсор в положение метки17 или любой метки/объекта.

ответ

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 
Смежные вопросы