excel - 为什么 Excel 2010 VBA 用户窗体文本框字体会根据框架大小而变化?

标签 excel vba controls userform font-size

我有一个包含多个框架、标签和文本框的用户窗体,所有这些都设置为 Calibri Regular 大小 10 的默认字体。我注意到一个文本框中的字体与其他文本框中的字体不同;比默认的更 slim ,头发更短,更紧凑。我尝试在设计和运行时调整字体,弄乱框架的字体,并用新的文本框替换文本框,但似乎没有任何方法可以纠正字体。

然后,我不小心将文本框位置向上移动了一点,字体自动纠正了。诡异的。从那以后,我一直在研究文本框位置和框架大小。这是我观察到的:

1) 字体大小取决于框架内的相对位置;文本框需要完全位于框架高度的顶部 50%,调整文本框位置或框架高度会影响字体。

2) 此问题适用于此用户表单上的多个框架。

3)此问题适用于标签和文本框。

4) 这个问题不一致,并不适用于所有文本框和标签;只是第一帧中的文本框受到影响,第二帧中的标签受到影响,第三帧中没有字体问题。

我已经在设计模式下检查了所有框架、标签和文本框中的属性,但没有什么突出的地方。所有这些控件都具有相同的字体集。以前有人遇到过这个问题吗?这是一个已知的错误吗?

最佳答案

与@SquirrelBait相同 - 我也发现字体的显示大小在外观上发生变化,具体取决于它在我的用户窗体上的位置(在设计时创建 - Excel 2016)。 这发生在多页中,但可能不相关。

虽然我没有解决方案,我可能有一个可能的解决方法:

此问题似乎仅发生在表单控件(标签、文本框、组合框)的高度不是整数值的情况下。我自动调整了一些控件的大小,因此它们的高度为 14.25、28.5、20.25 等。我已将所有高度增加到整数值。现在问题似乎已得到解决

关于excel - 为什么 Excel 2010 VBA 用户窗体文本框字体会根据框架大小而变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61732229/

相关文章:

excel - 如何删除 Excel 工作表中单元格中的附加值

regex - 可以在范围内运行 Regex-Replace 而不是循环遍历 Excel 中的单元格吗?

java - 计算文件中多组 int 值

c# - 使用自定义组件包装器而不是继承来扩展 WinForm 控件是常见做法吗?

c# - 如何在窗体之外访问和设置控件的属性?

vba - 如何在VBA中根据空单元格值删除行

excel - 无法将 VBA 自动过滤器应用于我导出到 CSV 的表

if-statement - VBA 我的 if 语句不起作用

excel - 使用 VBA 选择和复制多个范围

xml - VBA按属性选择XML节点