我的MDI表单及其位置有问题。我有一个容器形式,我在其中打开几个子表单。另请注意,在容器表单中,我在顶部有一个ToolStrip,它也停靠在顶部。在每个子表单中,我设置了以下属性。我也在设计时设置了它们但由于某种原因它没有工作所以我也将它们放在form_load事件中。
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
Me.Dock = DockStyle.Fill
ReSizeAndArrange(Me.Width, Me.Height, False)
在ReSizeAndArrange
和form_load
事件中调用函数form_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.Location
不应该是0,0
吗?这些数字加起来我想的尺寸。 4像素差异也许可以通过边界来解释,但是,位置是无法解释的。任何人都可以破译这个吗?
答案 0 :(得分:0)
好的,我只是通过将表单的位置设置为(0,0)来解决问题。它仍然没有回答这个问题,但它是一种解决方法。
答案 1 :(得分:0)
这是因为0,0不对表单大小/布局施加约束。它允许它来决定。您放入的任何值都会强制表单符合您的规范。 0,0不是一个解决方法,它是“你自己决定这种形式”的方式。