我正在使用vba中的用户表单,并有一个列表框。 我想从底部删除水平滚动条。 有没有办法做到这一点? 我在属性框中没有看到任何选项。
当您将列表框的列宽格式属性设置为某些较宽的值,然后将控件大小调整为数据大小时,可能会出现此问题,控件将显示滚动条。
要解决此问题,请在“格式”选项卡下更改“列宽”属性为非常小的值,然后尝试多次更改此属性和列表框控件的大小,直到达到所需效果,并且不再显示滚动条。
您需要将列表框或组合框的ListWidth属性设置为大于ColumnWidth属性。
第一个是您在屏幕上显示的大小,第二个是您想要放置在第一个中的大小。
((sum of columnwidths) + vertical scrollbar width) > (width / column count)
在简单情况下,只有一个列宽和一个列,因此如果内容超出列宽,则会出现水平滚动条。
(columnwidths + vertical scrollbar width) > width
要查找滚动条的宽度,请将滚动条拖到画布上。滚动到属性底部,查找宽度。在我的情况下是12.75-将其改为12以简化算术运算。
工作示例:
Column Count = 1
Width = 48pt
Column Widths = 48 - 12 = 36pt
尝试将列表框稍微加宽一点……不要太宽,但足以消除水平滚动条。
也许那样会起作用。
点击用户窗体。在属性统计下,查找KeepScrollBarsVisible。
将其更改为0 - fmScrollBarsNone
我花了两个小时来处理这个问题 - 尝试在ListBox中找到答案。它不在那里!
吉姆
我在表单开头声明了columnwidth,它的效果非常好!