2012-01-03 72 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