用户控件在运行时自动重新调整大小

时间:2012-08-03 09:16:04

标签: vb.net user-controls

我有一个具有标签和文本框的用户控件,但我无法确定它们在运行时始终重新调整大小的原因。以下是快照:

design time

run time

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

4 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:4)

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

在ocations中,容器(可能是Form)的字体大小和类型与用户控件不同,如果用户控件将此属性设置为 Font ,则会尝试调整自身大小覆盖新的字体类型和大小。

答案 2 :(得分:4)

我刚刚找到了问题的答案。我将表单(容器) AutoScaleMode 表单更改为,而不是用户控制。 感谢大家! 干杯!

答案 3 :(得分:2)

我能够复制你的问题。我创建了一个用户控件,并努力让它重新调整大小。最初按照你的建议将一个拆分容器添加到我的用户控件中,但是我无法让它调整大小。

我想知道在3,3,3,3的dafault边缘可能与它有关。当我最初添加我的拆分容器时,它比用户控件hense小,无法重新创建问题。

如果我的split-conainer和我的用户控件宽度相同,则边距更明显,实际上增加了用户控件的宽度。

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

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

相关问题