4

我有一个带有标签和文本框的用户控件,但我无法确定为什么它们在运行时总是重新调整大小。这是快照:

设计时间

运行

如您所见...对象已调整大小并且间距已更改。我不认为它与我的代码有关......它只是 vb.net 的设置吗?请帮忙。

4

4 回答 4

4

请检查用户控件内的文本框、标签和按钮中的Anchor属性的值。可能设置为保持与容器右边界的距离(用户控件)

于 2012-08-03T09:25:51.623 回答
4

I just found the answer to my question. Instead of user control, I change the form (the container) AutoScaleMode from Form to None. Thanks everyone! Cheers!

于 2012-09-11T06:42:52.883 回答
4

尝试使用用户控件的AutoScaleMode属性,如果设置为Font将其更改为None

在某些情况下,容器(可能是表单)的字体大小和类型与用户控件不同,如果用户控件将此属性设置为Font,那么它将尝试调整自身大小以覆盖新的字体类型和大小。

于 2012-08-14T18:58:16.950 回答
2

我已经能够复制您的问题。我创建了一个用户控件,并为尝试重新调整大小而奋斗了很长时间。最初按照您的建议向我的用户控件添加了一个拆分容器,但我无法调整它的大小。

我想知道 3,3,3,3 的默认保证金可能与它有关。当我最初添加我的拆分容器时,它比用户控件小,因此无法重新创建问题。

如果我的拆分容器和我的用户控件的宽度相同,那么边距会更明显,并且实际上增加了我的用户控件的宽度。

当然,您的问题可能与此完全无关,但我建议您检查与控件宽度相比的边距。我很欣赏边距对您来说可能是完全必要的,但至少如果只是为了检查这是否解决了您的问题,为什么不删除它们。或者通过确保拆分容器的宽度小于用户控件的宽度,然后减去每一侧的边距。例如,如果您的用户控件的宽度为 300,而您的拆分容器的边距为 3,3,3,3,则检查您的拆分容器是否小于 300-3-3 = 294。

只是一个理论,实际上可能没有用....祝你好运

于 2012-08-17T15:56:16.797 回答