2012-01-03 29 views
-1

我有一個MDI窗體及其位置的問題。我有一個容器形式,在其中我打開了幾個孩子的形式。另外請注意,在容器形式中,我在頂部有一個ToolStrip,它也停靠在頂部。在每個子窗體中,我都設置了以下屬性。我在設計時也設置了它們,但由於某種原因它不能工作,所以我也將它們放在了form_load事件中。VB.Net窗體 - MDI窗體沒有正確定位

Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None 
Me.Dock = DockStyle.Fill 
ReSizeAndArrange(Me.Width, Me.Height, False) 

功能ReSizeAndArrange上稱爲form_loadform_layout事件。我遇到的問題是兒童表格不能正確填寫剩餘的空間,或者就此而言不能填寫整個父表格。當我走過時,這裏是我得到的兒童形式的座標。

frmContainer.Size {Width = 972 Height = 972} System.Drawing.Size 
me.Size  {Width = 968 Height = 901} System.Drawing.Size 
frmContainer.ToolStripMain.Size {Width = 954 Height = 67} System.Drawing.Size 
frmContainer.Location {X = 90 Y = 22} System.Drawing.Point 
me.Location  {X = -9 Y = -36} System.Drawing.Point 

不應該Me.Location0,0?這些數字加起來就是我認爲的大小。 4個像素的差異可能可以通過邊界來解釋,但是,這個位置是無法解釋的。任何人都可以破譯這個?

+0

代碼並不重要,因爲我在該函數的第一行中捕獲了上述值。 – Chiwda 2012-01-03 16:42:25

+0

爲什麼是-1?誰? – Chiwda 2012-01-04 03:54:56

回答

0

好的,我簡單地通過將表單的位置設置爲(0,0)來解決問題。它仍然不回答這個問題,但它是一種解決方法。

0

這是因爲0,0不會對錶單大小/佈局設置約束。它允許它決定。您放入的任何值都會強制表單符合您的規格。 0,0不是解決問題的方法,而是「你自己決定這一點」的方式。

+0

我很抱歉,但我不明白你的解釋。你能否詳細說明一下? – Chiwda 2013-06-22 07:41:40