控制标题文本显示较小

时间:2012-07-27 01:49:34

标签: vba excel-vba excel

我正在使用Excel中的Userform,每次都必须动态生成。它可以列出许多(100+)行,这些​​行的格式完全相同。这些是由以下代码段生成的。

' ctextbox
Set ctl = .Controls.Add("Forms.Textbox.1")
With ctl
    .Top = 12 + linetop
    .Left = 464.9
    .Width = 140
    .Height = 18
    .Name = FieldName & "_ctextbox"
End With
' cshow
Set ctl = .Controls.Add("Forms.CommandButton.1")
With ctl
    .Top = 13.1 + linetop
    .Left = 611.35
    .Width = 41.95
    .Height = 18
    .Name = FieldName & "_cshow"
    .Caption = "Show All"
End With
' confirm
Set ctl = .Controls.Add("Forms.Checkbox.1")
With ctl
    .Top = 13.5 + linetop
    .Left = 659
    .Width = 44.95
    .Height = 17.25
    .Name = FieldName & "_confirm"
    .Caption = "Confirm"
End With

除了随机出现确认复选框小于其余复选框之外,它会很好。下面的截图显示了我的意思。

Screenshot of form

之前有没有人遇到过这个问题?

2 个答案:

答案 0 :(得分:1)

我建议您在动态添加控件后使用repainting Userform。

Repaint方法完成指定表单的任何挂起的屏幕更新。在表单上执行时,Repaint方法还完成对表单控件的任何挂起重新计算。

如果对象的内容或外观发生变化,并且您不想等到系统自动重新绘制区域,则此方法很有用。 Me.Repaint只需重新绘制表单

即可更新显示内容

答案 1 :(得分:0)

我有同样的问题,因为我的重绘不起作用。我通过将CheckBox AutoSize属性设置为True解决了这个问题,我已经没有问题了。