【问题标题】:Remove the scroll bar on a list box移除列表框上的滚动条
【发布时间】:2011-08-04 00:47:46
【问题描述】:

我在 vba 中使用了一个 userForm,并且我有一个列表框。我想删除horoz。从底部滚动条。有没有办法做到这一点?我在属性框中没有看到任何选项。

【问题讨论】:

    标签: excel vba userform


    【解决方案1】:

    当您将列表框的列宽格式属性设置为某个宽度时,可能会发生这种情况,然后您根据数据调整控件的大小,它将显示滚动条。

    要解决此问题,请将格式选项卡下的“列宽”属性更改为非常小的值,然后调整此属性和列表框控件的大小,直到获得所需的大小,并且不显示滚动条.

    【讨论】:

      【解决方案2】:

      您需要将列表框或组合框的属性ListWidth设置为大于属性ColumnWidth。

      首先是您在屏幕上显示的大小, 第二个是您要放入第一个的大小。

      【讨论】:

        【解决方案3】:

        正如其他回复中提到的,这是 ColumnWidth 和 Width 的组合。主要参与者是

        ColumnCount:列表框允许数据在多个列中蜿蜒,但这是另一回事。对于简单的情况,将 Column Count 设置为 1

        宽度:这是通过拉伸绘图来设置的

        ColumnWidths:这将设置列的宽度。在简单的情况下,找出设置的 Width 并从该值中减去滚动条宽度。默认情况下,列宽设置为宽度。因为 in 还包括垂直滚动条的大小。如果

        出现水平滚动条
        ((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
        

        【讨论】:

          【解决方案4】:

          试着让列表框更宽一点......不是 mucn 更宽,但足以摆脱水平滚动条。

          也许这会奏效。

          【讨论】:

          • 我试过了。它奏效了,但我必须把盒子做得很宽。我想保持足够大以查看列表。
          • @Mike:这些值是来自数据库还是数据集列?如果列的长度比列表框宽,它可能会添加一个滚动条。
          • 这些值来自我的工作表列之一,它只是内部文本的宽度。
          【解决方案5】:

          单击用户窗体。在 Property Stats 下,查找 KeepScrollBarsVisible。
          将其更改为 0 - fmScrollBarsNone

          我为此工作了两个小时 - 试图在 ListBox 中找到答案。它不在那里!

          吉姆

          【讨论】:

            【解决方案6】:

            我在表单的开头声明了 columnwidth,它就像一个魅力!

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-07-21
              • 1970-01-01
              • 2011-03-03
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多