我試圖簡單地將一個面板居中放置在一個窗體中。我通過使用簡單公式Object Location = (Container Width - Object Width)/2
來做到這一點。這是將對象移動到其容器中心的簡單數學方法(x軸)。如何讓一個對象以表格的形式居中
但是,它無法正常工作。它在左邊放置了大概10個像素的額外空間,我無法弄清楚爲什麼。如果足夠縮小窗體的大小,面板會觸摸窗體的右側,但距離左側仍有大約十個像素。
我檢查過,以確保任何保證金或填充屬性設置爲0,但沒有運氣。
有人知道爲什麼會發生這種情況,以及如何解決它?
這裏是我的確切代碼:
Private Sub Form_Loaded(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Center Object
pnlRadios.Location = New Point((Me.Width - pnlRadios.Width)/2, 5)
End Sub
更新:我也試過:
pnlRadios.Location = New Point(Me.Width/2 - pnlRadios.Width /2 , 5)
和
pnlRadios.Left = Me.Width/2 - pnlRadios.Width/2
和每次嘗試都獲得完全相同的結果。
更新2:我能夠通過在公式中添加- 10
來做手動解決方法。它現在居中,但感覺就像我受騙一樣,我仍然不知道爲什麼我必須這樣做,我無法弄清楚爲什麼左側有某種填充。
有趣的特性瞭解,但我沒有看到任何可能影響到什麼形式的內部發生,這隻能控制其中的形式本身就是 –
。但它變得更有趣......再看一遍,setdesktopbounds在屏幕上設置「顯示」寬度......但是您可以使用displayrectangle.width來讀取該屬性......我更新了問題...... –
啊,非常好的主意。作爲一個輸出,我得到了:'width = 290 - desktopbound width = 270' –