решаемая. Комментарии? Другие решения?
Перебирайте родительские элементы управления, пока не найдете основную форму. Добавьте точку каждого местоположения к предыдущему.
Private Function Get_Control_Location(ByVal control As Control) As Point
If control.Name = "MainForm" Then
Return control.Location
End If
Return control.Location + Get_Control_Location(control.Parent)
End Function
Затем рассчитайте размер новой загрузки так, чтобы она центрировалась на сетке.
Dim x As Integer = (GridControl.Width / 2) - (PleaseWait.Width / 2)
Dim y As Integer = (GridControl.Height / 2) - (PleaseWait.Height / 2)
PleaseWait.Location = Get_Control_Location(GridControl) + New Point(x, y)
Надеюсь, это поможет кому-то еще!