How do I know the current width of system scrollbar?

Look at the System.Windows.Forms.SystemInformation class members: HorizontalScrollBarHeight and VerticalScrollBarWidth.


Vertical Scroll Bar Width

System.Windows.Forms.SystemInformation.VerticalScrollBarWidth;

If you want to know the size of a ScrollableControl minus the size of the scroll bar, the easiest way is to use the Control.ClientSize property.

From the documentation:

Gets or sets the height and width of the client area of the control. The client area of a control is the bounds of the control, minus the nonclient elements such as scroll bars, borders, title bars, and menus.


Skip the ClientSize property of the control. At least in VS2013 the Scrollbar is included in the ClientSize.

When I formatted a RichTextBox with a width of 304 and a vertical scrollbar, the Client Size width was 300, which only accounted for the borders.

stick with the System.Windows.Forms.SystemInformation.VerticalScrollBarWidth to get your scrollbar width.