开发者

Remove the scroll bar on a list box

I'm using a userForm in vba and I have a list box. I want to remove the horoz. scroll bar from the bottom. Is t开发者_运维问答here a way to do this? I don't see any option in the properties box.

Remove the scroll bar on a list box


This can occur when you have the column width format property of the listbox set to something wide, then you size the control to the data, it will show the scroll bars.

To fix this, change the "Column Width" property under the format tab to something really small, then play around with this property and the size of the listbox control until you get it how you want, and no scroll bars are displayed.


You need to set the property ListWidth of the listbox or combobox bigger than the property ColumnWidth.

The first being the size of what you show on screen, and the second being the size of what you want to put inside the first.


As mentioned in other replies, this is a combination of the ColumnWidth and the Width. The main players are

ColumnCount: Listboxes allow the data to snake through multiple columns but that is a different story. For the simple case, set the Column Count to 1

Width: This is set by stretching the drawing

ColumnWidths: This will set the widths of the columns. In the simple case, find out what Width has been set to and subtract the scrollbar width from that value. By default, the Column Width is set to the Width. Since in also includes the size of the vertical scrollbar. The horizontal scrollbar appears if

((sum of columnwidths) + vertical scrollbar width) > (width / column count)

In the simple case, there is only one column width and only one column so the horizontal scrollbar will appear if

(columnwidths + vertical scrollbar width) > width

To find out the scrollbar width, drag a scrollbar on to the canvas. Scroll to the bottom of the properties and find the width. In my case it is 12.75 - make it 12 to simplify the arithmetic.

Worked Example:

Column Count = 1
Width = 48pt
Column Widths = 48 - 12 = 36pt


Try making the listbox a little wider.... not mucn wider, but just enough to get rid of the horizontal scroll bar.

Maybe that will work.


Click on the Userform. Under the Property Stats, look for KeepScrollBarsVisible.
Change it to 0 - fmScrollBarsNone

I was working with this for two hours - trying to find the answer in the ListBox. It is NOT there!

Jim


I declared columnwidth in start of form and it works like a charm!


The technique that actually worked for me was to set ColumnWidths property in section Data to a smaller number than the property Width in Position section. In the image below I set 30pt size on ColumnWidths which is smaller than number 40 in property Width. Please find an image showing both properties. I hope this helps.

Remove the scroll bar on a list box

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜