我有一個MDI(父窗體)窗體和2個其他窗體。在form1上有一個按鈕,位置是(X:100,Y:200)。當用戶通過Form1單擊按鈕時,我需要打開另一個窗體「Form2」。 Form2的位置應該是按鈕的右側中間(發件人)。設置窗體位置與父窗體按鈕相關
我寫這篇文章的代碼
Private Sub UpdateLocation(ByVal element As Control, ByVal frm As Form) Dim p As New Point(element.Location) p = element.PointToScreen(p) p.X = p.X + element.Width + 10 p.Y = p.Y/2 Debug.Print(p.ToString) frm.Location = p frm.BringToFront() End Sub
,但並不如預期窗體2的位置。 在我呼籲按鈕的單擊事件上面的函數
UpdateLocation(form1.button1, form2)
任何幫助將是明顯的。 在此先感謝。上面的代碼的
輸出是:
幾個測試後我意識到point.x(location.x)正在工作,但不是point.y(location.y)
You can download the piece of code from here。你可以用它來檢查實際的問題。 VS2010是必需的。
張貼一些截圖將有助於解決您的問題。 –
[Button1_Click] http://goo.gl/yfbLS [Button2_Click] http://goo.gl/27wUM [Button3_Click] http://goo.gl/yfbLS –