我定义了一个表单,它有一个包含一些按钮的GroupBox。然后我定义了第二个模式,叫做 "开发者模式",可以为了某些目的而进入。在这个模式下,我想移动和改变其中一个按钮的大小,以便为另一个控制元素(只有在这个开发者模式下才能使用)腾出空间。
这个任务似乎很简单。只需这样做就可以了。
Button1.Location = new Point(x1, y1);
Button1.Size = new Size(x2, y2);
结果是,按钮的位置完全无法预料,并且调整了大小,而不是预期的那样。
所以我试图找出问题所在。我发现,当我把按钮加载到表单中后(在我改变任何参数之前),我写出该按钮的证书时,它说的东西与我在Button1的属性中定义的不同。它看起来和我在设计器中定义的一样,但是它的大小和位置确实有不同的值。例如
我把Size定义为125,35。 输出的 "Button1.Size.Width "比说是94,"Button1.Size.Height "是28。
我把Location定义为495,280。 输出 "Button1.Locaction.X "比说371,"Button1.Location.Y "比说228。
那刚才发生了什么事?我不知道... ... screentype one has? 还有什么是有的,我怎么才能控制它?
谢谢你的任何意见!Cheers
你的代码示例定义了2种不同的尺寸。只有一个可以在一定时间内有效。第二个(x3,y3)会覆盖第一个。
对接会影响大小和位置。
锚定会影响位置,也可能影响大小。
MinimumSize
锚定会影响位置,也可能影响大小。MaximumSize
按钮的大小可能会覆盖您手动设置的大小。