I'm trying to get the height and width of the scrollbars that are displayed on a ListView. Is there an easy way to do this? I did some google'ing and it looks like it might be a system setting. I'm just not sure where to look.
views:
31answers:
2
+3
A:
Yes, it is a system setting. Use SystemInformation.HorizontalScrollBarHeight and SystemInformation.VerticalScrollBarWidth.
Hans Passant
2010-07-08 15:55:05
I figured it existed, thanks!
SwDevMan81
2010-07-08 16:11:10
+1
A:
On .Net CF, where SystemInformation.HorizontalScrollBarHeight
and SystemInformation.VerticalScrollBarWidth
don't exist, some P/Invoke is required:
public sealed class Native
{
public static Int32 GetVerticalScrollbarWidth()
{
return GetSystemMetrics(SM_CXVSCROLL);
}
public Int32 GetHorizontalScrollbarHeight()
{
return GetSystemMetrics(SM_CYHSCROLL);
}
[DllImport("coredll.dll", SetLastError = true)]
public static extern Int32 GetSystemMetrics(Int32 index);
public const Int32
SM_CXVSCROLL = 2,
SM_CYHSCROLL = 3;
}
Johann Gerell
2010-08-10 09:08:58