表格中元素的大小和位置与定义的不同,为什么?

问题描述 投票:-1回答:1

我定义了一个表单,它有一个包含一些按钮的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

c# winforms location size
1个回答
0
投票
  1. 你的代码示例定义了2种不同的尺寸。只有一个可以在一定时间内有效。第二个(x3,y3)会覆盖第一个。

  2. 对接会影响大小和位置。

  3. 锚定会影响位置,也可能影响大小。

  4. MinimumSize 锚定会影响位置,也可能影响大小。MaximumSize 按钮的大小可能会覆盖您手动设置的大小。

© www.soinside.com 2019 - 2024. All rights reserved.