2008-10-10 36 views
11

Visual Studio 2008 SP1(尽管IIRC,2005年的行为也出现了)不断调整我使用的几个网格控件(Janus.GridEx是精确的)的大小。如何阻止Visual Studio调整控件大小?

我可以调整它们恢复正常,保存,并编译得很好。当它编译时,这两个控件将扩展到荒谬的价值。

更多信息: 这个问题是关系到设置在控制Anchor属性。如果我将Anchor属性设置为两端(如左和右),则在设计器文件被编译时,它会将控件的宽度/高度设置为容器的宽度/高度。

看来,在设计文件中,Anchor属性的大小属性前设置。手动编辑(我知道,对我很惭愧)将Size属性放在第一位的文件没有帮助,因为当Designer文件被编译时,它似乎也是从头开始重写的。

所以我想我真正的问题是,如何让VS表单设计尊重我的初始大小声明以及Anchor属性。

+0

发布设计师的代码;你确定你还没有将Dock属性设置为Fill? – 2008-10-11 14:57:58

+0

码头是无。这不是控制行为错误的问题。运行时,应用程序将按照其应有的运行。就在设计师身上,高度和/或宽度变得太大而无法使用。 – 2008-10-13 21:55:21

+0

@ [toast]:好的。我以前只遇到过这种问题,并且无法解决它 - 除了按照上面的建议在构造函数中设置事物。 – 2008-10-13 23:14:54

回答

2

我通常解决这类故障通过将“好”的代码的形式构造函数,调用的InitializeComponent()之后,所以它覆盖任何乱七八糟的自动设计魔术可能会导致。

0

通常当我有这个问题,我结束了使用上的控制面板和标签(空白文本)与码头和padding属性来获得相同的视觉效果。这对于你的形式是否可行取决于它是如何布置的。

并不是因为所有的额外控制的最佳解决方案,但它能够完成任务。

1

我目前正在做的是处理Resize事件并在两个需要的控件上设置Size。鉴于Anchor属性的预期效果,我觉得这有点混乱。

6

我有同样的问题。表单上的用户控件实例具有这些设置。 锚 - 没有 自动调整大小 - 假 码头 - 没有

它仍然可怕地调整他们每次我做了一个构建等

我发现,在设计属性的用户控制时间,它已autoscalemode设置字体。我将其更改为无,并解决了问题。