【问题标题】:Can't change dimensions of dynamically added listbox无法更改动态添加的列表框的尺寸
【发布时间】:2017-04-04 21:13:09
【问题描述】:

我一直在寻找几个小时,我希望有人可以在这里帮助我。

我正在 vba 中创建一个表单,我想在其中动态添加列表框。添加了列表框,因此按计划进行。但是,我似乎无法更改列表框的宽度和高度。所有其他的东西都在改变。这是我的代码:

Dim lb As MSForms.ListBox
Set lb = Me.controls.add("Forms.Listbox.1")
With lb
    .ColumnCount = 4
    .Left = 180
    .Top = 16
    .MultiSelect = 1
    .Height = 270
    .Width = 665
End with

我注意到的另一件事是高度和宽度不在 ListBox 的属性列表中。难道是我使用了错误的 ListBox 类型?

编辑:它变得陌生。当我逐行浏览代码时,它可以正常运行,并且ListBox的大小是我想要的。

【问题讨论】:

  • 代码看起来不错。我创建了一个表单,它从几个组合框中获取高度和宽度,并将这些尺寸发送到您的代码的编辑副本。您是否尝试在更新后添加 Me.Repaint?
  • Me.Repaint 不起作用,但逐行查看代码似乎可行。
  • ListBox 创建后还有什么事情发生吗?
  • 我找到了解决方案:创建后,将项目添加到列表框中,添加项目后我再次设置了高度和宽度。这似乎可行,但我仍然不明白为什么在逐行浏览代码时它会起作用。

标签: vba listbox height width


【解决方案1】:

试试这个可能是

Me.Controls("Forms.Listbox.1").IntegralHeight = False 或者 lb.IntegralHeight = False

【讨论】:

    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多